All Instrument Swing Trader with Pyramids, DCA and Leverage
Introduction
This is my most advanced Pine 4 script so far. It combines my range trader algorithms with my trend following pyramids all on a single interval. This script includes my beta tested DCA feature along with simulated leverage and buying power calculations. It has a twin study with several alerts. The features in this script allow you to experiment with different risk strategies and evaluate the approximate impact on your account capital. The script is flexible enough to run on instruments from different markets and at various bar intervals. This strategy can be run in three different modes: long, short and bidirectional. The bidirectional mode has two split modes (Ping Pong and BiDir). It also generates a summary report label with information not available in the TradingView Performance report such as Rate Of Return Standard Deviation and other Sharpe Ratio input values. Notable features include the following:
- Swing Trading Paradigm
- Uni or Bidirectional trading modes
- Calculation presets for Crypto, Stocks and Forex
- Conditional Minimum Profit
- Hard stop loss field
- Two types of DCA (Positive and Negative)
- Discretionary Pyramid levels with threshold adjustment and limiter
- Consecutive loss counter with preset and label
- Reentry loss limiter and trade entry caution fields
- Simulated Leverage and margin call warning label (approximation only)
- Buying power report labels (approximation only)
- Rate Of Return report with input values for Sharpe Ratio, Sortino and others
- Summary report label with real-time status indicators
- Trend follow bias modes (Its still range trading)
- Six anti-chop settings
- Single interval strategy to reduce repaint occurrence
This is a swing trading strategy so the behavior of this script is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. Just to be clear, the range as well as trends are merely illusions as the chart only receives prices. However, this script attempts to calculate pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in this script which adds structural components to the chart formation (point, sides and a base). When trading in “Ping Pong” mode long and short positions are intermingled continuously as long as there exists a detectable vertex. Unfortunately, this can work against your backtest profitability on long duration trends where prices continue in a single direction without pullback. I have designed various features in the script to compensate for this event. A well configured script should perform in a range bound market and minimize losses in a trend. For a range trader the trend is most certainly not your friend. I also have a trend following version of this script for those not interested in trading the range.
This script makes use of the TradingView pyramid feature accessible from the properties tab. Additional trades can be placed in the draw-down space increasing the position size and thereby increasing the profit or loss when the position finally closes. Each individual add on trade increases its order size as a multiple of its pyramid level. This makes it easy to comply with NFA FIFO Rule 2-43(b) if the trades are executed here in America. The inputs dialog box contains various settings to adjust where the add on trades show up, under what circumstances and how frequent if at all. Please be advised that pyramiding is an advanced feature and can wipe out your account capital if your not careful. You can use the “Performance Bond Leverage” feature to stress test your account capital with varying pyramid levels during the backtest. Use modest settings with realistic capital until you discover what you think you can handle. See the“Performance Bond Leverage” description for more information.
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the TV properties tab. The inputs for this feature include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
To be sure pyramiding and dollar cost averaging is as close to gambling as you can get in respectable trading exchanges. However, if you are looking to compete in a Forex contest or want to add excitement to your trading life style those features could find a place in your strategies. Although your backtest may show spectacular gains don’t expect your live trading account to do the same. Every backtest has some measure to data mining bias. Please remember that.
This script is equipped with a consecutive loss counter. A limit field is provided in the report section of the input dialog box. This is a whole number value that, when specified, will generate a label on the chart when consecutive losses exceed the threshold. Every stop hit beyond this limit will be reported on a version 4 label above the bar where the stop is hit. Use the location of the labels along with the summary report tally to improve the adaptability of system. Don’t simply fit the chart. A good trading system should adapt to ever changing market conditions. On the study version the consecutive loss limit can be used to halt live trading on the broker side (managed manually).
This script can simulate leverage applied to your account capital. Basically, you want to know if the account capital you specified in the properties tab is sufficient to trade this script with the order size, pyramid and DCA parameters needed. TradingView does not halt trading when the account capital is depleted nor do you receive notification of such an event. Input the leverage you intend to trade with and simulate the stress on your account capital. When the check box labeled “Report Margin Call” is enabled a marker will plot on the chart at the location where the threshold was breached. Additionally, the Summary Report will indicated such a breach has occurred during the backtest. Please note that the margin calculation uses a performance bond contract model which is the same type of leverage applied to Forex accounts. This is not the same leverage as stock margin accounts since shares are not actually borrowed. It is also not applicable to futures contracts since we do not calculate maintenance margin. Also note that the account margin and buying power are calculated using the U.S. Dollar as a funding currency. Margin rules across the globe vary considerably so use this feature as an approximation. The “Report Margin Call” plot only appears on negative buying power which is well beyond the NFA enforced margin closeout price. Vary the order size and account capital and activate the buying power plot to get as close as you can to the desired margin call threshold. Also keep in mind that rollover fees, commissions, spreads, etc affect the margin call in actual live trading. This feature does not include any of those costs.
Inputs
The script input dialog box is divided into five sections. The last section, Section 5, contains all of the script reporting options. Notable reporting options are the inputs which provide support for calculating actual Sharpe Ratios and other risk / performance metrics. The TradingView performance report does not produce a scalable Sharpe Ratio which is unfortunate considering the limited data supplied to the backtest. Three report fields made available in this section are intended to enable users to measure the performance of this script using various industry standard risk metrics. In particular, The Sharpe Ratio, Sortino Ratio, Alpha Calculation, Beta Calculation, R-Squared and Monthly Standard Deviation. The following fields are dedicated to this effort:
– ROR Sample Period - Integer number which specifies the rate of return period. This number is a component of the Sharpe Ratio and determines the number of sample periods divisible in the chart data. The number specified here is the length of the period measured in bar intervals. Since the quantity of TradingView historical data is limited this number should reflect the scalar value applied to your Sharpe calculation. When the checkbox “Report Period ROR” is enabled red boxes plot on the dates corresponding to the ROR sample period. The red boxes display information useful in calculating various risk and performance models. Ongoing buying power is included in the period report which is especially useful in assessing the DCA stress on account capital. Important: When the “ROR Sample Period” is specified the script computes the ROR mean value and displays the result in the summary report label on the live end of the chart. Use this number to calculate the historical standard deviation of period returns.
– Return Mean Value - This is the ROR mean value which is displayed in the summary report field “ROR Mean”. Enter the value shown in the summary report here in order to calculate the standard deviation of returns. Once calculated the result is displayed in the summary report field “Standard Dev”. Please note that ROR and standard deviation are calculated on the quote currency of the chart and not the account currency. If you intend to calculate risk metrics based on other denominated returns use the period calculations in a spreadsheet. Important: Do not change the account denomination on the properties tab simply to force a dollar calculation. It will alter the backtest itself since the minimum profit, stop-loss and other variables are always measured in the quote currency of the chart.
– Report Period ROR - This checkbox is used to display the ROR period report which plots a red label above the bars corresponding to the ROR sample period. The sample period is defined by the value entered into the “ROR Sample Period” field. This checkbox only determines if the period labels plot on the chart. It does not enable or disable the ROR calculation itself. Please see input description“ROR Sample Period” for a detailed description of this feature.
Design
This script uses twelve indicators on a single time frame. The original trading algorithms are a port from a much larger program on another trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs form the basis of the entry and exit points. The vertices are calculated using one of five featured indicators. Each indicator is actually a composite of calculations which produce a distinct mean. This mathematical distinction enables the script to be useful on various instruments which belong to entirely different markets. In other words, at least one of these indicators should be able generate pivots on an arbitrarily selected instrument. Try each one to find the best fit.
The entire script is around 2200 lines of Pine code which pushes the limits of what can be created on this platform given the TradingView maximums for: local scopes, run-time duration and compile time. This script incorporates code from both my range trader and trend following published programs. Both have been in development for nearly two years and have been in beta test for the last several months. During the beta test of the range trading script it was discovered that by widening the stop and delaying the entry, add on trading opportunities appeared on the chart. I determined that by sacrificing a few minor features code space could be made available for pyramiding capability in the range trader. The module has been through several refactoring passes and makes extensive use of ternary statements. As such, It takes a full three minutes to compile after adding it to a chart. Please wait for the hovering dots to disappear before attempting to bring up the input dialog box. For the most part the same configuration settings for the range script can be applied to this script.
Inputs to the script use cone centric measurements in effort to avoid exposing adjustments to the various internal indicators. The goal was to keep the inputs relevant to the actual trade entry and exit locations as opposed to a series of MA input values and the like. As a result the strategy exposes over 70 inputs grouped into long or short sections. Inputs are available for the usual minimum profit and stop-loss as well as safeguards, trade frequency, pyramids, DCA, modes, presets, reports and lots of calibrations. The inputs are numerous, I know. Unfortunately, at this time, TradingView does not offer any other method to get data in the script. The usual initialization files such as cnf, cfg, ini, json and xml files are currently unsupported.
I have several example configuration settings that I use for my own trading. They include cryptocurrencies and forex instruments on various time frames.
Indicator Repainting and Anomalies
Indicator repainting is an industry wide problem which mainly occurs when you mix backtest data with real-time data. It doesn't matter which platform you use some form of this condition will manifest itself on your chart over time. The critical aspect being whether live trades on your broker’s account continue to match your TradingView study.
Based on my experience with Pine, most of the problems stem from TradingView’s implementation of multiple interval access. Whereas most platforms provide a separate bar series for each interval requested, the Pine language interleaves higher time frames with the primary chart interval. The problem is exacerbated by allowing a look-ahead parameter to the Security function. The goal of my repaint prevention is simply to ensure that my signal trading bias remains consistent between the strategy, study and broker. That being said this is what I’ve done address this issue in this script:
1. This script uses only 1 time frame. The chart interval.
2. Every entry and exit condition is evaluated on closed bars only.
3. No security functions are called to avoid a look-ahead possibility.
4. Every contributing factor specified in the TradingView wiki regarding this issue has been addressed.
5. Entry and exit setups are not reliant on crossover conditions.
6. I’ve run a 10 minute chart live for a week and compared it to the same chart periodically reloaded. The two charts were highly correlated with no instances of completely opposite real-time signals. I do have to say that there were differences in the location of some trades between the backtest and the study. But, I think mostly those differences are attributable to trading off closed bars in the study and the use of strategy functions in the backtest.
The study does indeed bring up the TV warning dialog. The only reason for this is because the script uses an EMA indicator which according to TradingView is due to “peculiarities of the algorithm”. I use the EMA for the Bill Williams Alligator so there is no way to remove it.
One issue that comes up when comparing the strategy with the study is that the strategy trades show on the chart one bar later than the study. This problem is due to the fact that “strategy.entry()” and “strategy_exit()” do not execute on the same bar called. The study, on the other hand, has no such limitation since there are no position routines.
Please be aware that the data source matters. Cryptocurrency has no central tick repository so each exchange supplies TradingView its feed. Even though it is the same symbol the quality of the data and subsequently the bars that are supplied to the chart varies with the exchange. This script will absolutely produce different results on different data feeds of the same symbol. Be sure to backtest this script on the same data you intend to receive alerts for. Any example settings I share with you will always have the exchange name used to generate the test results.
Usage
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configs that I use for my own trading that I can share with you. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
The input dialog box contains over 70 inputs separated into five sections. Each section is identified as such with a makeshift separator input. There are three main areas that must to be configured: long side, short side and settings that apply to both. The rest of the inputs apply to pyramids, DCA, reporting and calibrations. The following steps address these three main areas only. You will need to get your backtest in the black before moving on to the more advanced features.
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field.
Step 4. Select the Histogram indicator from Section 2. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 2.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the red markers and short trades on the blue.
Step 7. Make adjustments to “Base To Vertex” and “Vertex To Base” net change and roc in Section 3. Use these fields to move the markers to where you want trades to be.
Step 8. Try a different indicator from Section 2 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Go to Section 3 and enable “Apply Red Base To Base Margin”.
Step 10. Go to Section 4 and enable “Apply Blue Base To Base Margin”.
Step 11. Go to Section 2 and adjust “Minimum Base To Base Blue” and “Minimum Base To Base Red”. Observe the chart and note where the markers move relative to each other. Markers further apart will produce less trades but will reduce cutoffs in “Ping Pong” mode.
Step 12. Return to Section 3 and 4 and turn off “Base To Base Margin” which was enabled in steps 9 and 10.
Step 13. Turn off Show Markers in Section 2.
Step 14. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Percentage is not currently supported. This is a fixed value minimum profit and stop loss. Also note that the profit is taken as a conditional exit on a market order not a fixed limit. The actual profit taken will almost always be greater than the amount specified (due to the exit condition). The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached. On the study version, the stop is executed at the close of the bar.
Step 15. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Ping Pong). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with “BiDir” or “Ping Pong” after setting up both sides of the trade individually. The difference between “BiDir” and “Ping Pong” is that “Ping Pong” uses position reversal and can cut off opposing trades less than the specified minimum profit. As a result “Ping Pong” mode produces the greatest number of trades.
Step 16. Take a look at the chart. Trades should be showing along the markers plotted earlier.
Step 17. Make adjustments to the Vertex fields in Section 2 until the TradingView performance report is showing a profit. This includes the “Minimum Base To Base” fields. If a profit cannot be achieved move on to Step 18. Other adjustments may make a crucial difference.
Step 18. Improve the backtest profitability by adjusting the “Entry Net Change” and “Entry ROC” in Section 3 and 4.
Step 19. Enable the “Mandatory Snap” checkbox in Section 3 and 4 and adjust the “Snap Candle Delta” and “Snap Fractal Delta” in Section 2. This should reduce some chop producing unprofitable reversals.
Step 20. Increase the distance between opposing trades by adding an “Interleave Delta” in Sections 3 and 4. This is a floating point value which starts at 0.01 and typically does not exceed 2.0.
Step 21. Increase the distance between opposing trades even further by adding a “Decay Minimum Span” in Sections 3 and 4. This is an absolute value specified in the symbol’s quote currency (right side scale of the chart). This value is similar to the minimum profit and stop loss fields in Section 1.
Step 22. Improve the backtest profitability by adjusting the “Sparse Delta” in Section 3 and 4.
Step 23. Improve the backtest profitability by adjusting the “Chase Delta” in Section 3 and 4.
Step 24. Improve the backtest profitability by adjusting the “Adherence Delta” in Section 3 and 4. This field requires the “Adhere to Rising Trend” checkbox to be enabled.
Step 25. Try each checkbox in Section 3 and 4. See if it improves the backtest profitability. The “Caution Lackluster” checkbox only works when “Caution Mode” is enabled.
Step 26. Enable the reporting conditions in Section 5. Look for long runs of consecutive losses or high debt sequences. These are indications that your trading system cannot withstand sudden changes in market sentiment.
Step 27. Examine the chart and see that trades are being placed in accordance with your desired trading goals. This is an important step. If your desired model requires multiple trades per day then you should be seeing hundreds of trades on the chart. Alternatively, you may be looking to trade fewer steep peaks and deep valleys in which case you should see trades at major turning points. Don’t simply settle for what the backtest serves you. Work your configuration until the system aligns with your desired model. Try changing indicators and even intervals if you cannot reach your simulation goals. Generally speaking, the histogram and Candle indicators produce the most trades. The Macro indicator captures the tallest peaks and valleys.
Step 28. Apply the backtest settings to the study version and perform forward testing.
This script is open for beta testing. After successful beta test it will become a commercial application available by subscription only. I’ve invested quite a lot of time and effort into making this the best possible signal generator for all of the instruments I intend to trade. I certainly welcome any suggestions for improvements. Thank you all in advance.
One final note. I'm not a fan of having the Performance Overview (blue wedge) automatically show up at the end of the publish page since it could be misleading. On the EUR/USD backtest showing here I used a minimum profit of 65 pips, a stop of 120 pips, the candle indicator and a 5 pyramid max value. Also Mark Pyramid Levels (blue triangles) are enabled along with a 720 ROR Sample Period (red labels).
Поиск скриптов по запросу "the script"
Bogdan Ciocoiu - Sniper EntryWhat is Sniper Entry
Sniper Entry is a set indicator that encapsulates a collection of pre-configured scripts using specific variables that enable users to extract signals by interpreting market behaviour quickly, suitable for 1-3min scalping. This instrument is a tool that acts as a confluence for traders to make decisions concerning current market conditions. This indicator does not apply solely to an asset.
What Sniper Entry is not
Sniper Entry is not interpreting fundamental analysis and will also not be providing out of box market signals. Instead, it will provide a collection of integrated and significantly improved open-source subscripts designed to help traders speculate on market trends. Traders must apply their strategies and configure Sniper Entry accordingly to maximise the script's output.
Originality and usefulness
The collection of subscripts encapsulated in this tool makes it unique in the Trading View ecosystem. This indicator enables traders to consider entry positions or exit positions by comparing similar algorithms at once.
Its usefulness also emerges from the unique configurations embedded in the indicator's settings, which are different from those of the original scripts.
This indicator's originality is also reflected in how its modules are integrated, including the integration of the settings.
Open-source reuse
I used the following open-source resources, which I simplified significantly and pre-configured for short term scalping. The source codes for the below are already in the public domain, including the following links listed below.
www.tradingview.com (open source)
(open source and generic algorithm)
www.tradingview.com (open source)
(open source)
(open source)
www.tradingview.com (generic MA algorithm and open source)
(generic VWAP algorithm and open source)
Scanner/Screener of Over 40 Coins Per Script I am very scatter-brained by nature and sporadic in my thought processes but if these benefit the community and ya'll ask for more perhaps I will get better and even out a tad....probably not....but you never know. Firstly, allow me to apologize to all the vet/more sophisticated coders out there whose eyes and brains might just be overly taxed due to my poor coding structure. Im just getting started for the first time in ANY sort of coding...so cut me a little slack. Also, if anyone sees any mistakes or the functionality is not as I proclaimed, PLEASE do let me know. In these past 12mo of me learning my 1st coding language (Pinescript) I would say that I have been intently focused on creating all types/sorts of scanners/screeners. Ive always hoped to be a benefit to the community as I was always SO grateful to those who have come before me that have led me to the little bit of progress I have made with Pinescript. This script is not necessarily something that should be traded with as it is just a thrown together example showing a scanner/screener whose results produce plot outputs (ie, Rate of Change / oscillators as well / etc) and how they can be used in the alert system so that only 1 alert has to be set per iteration of the script but more importantly how to use/scan/screen with over 40 coins per script. My intent is not to trick anyone here. So to be PERFECTLY CLEAR, more than 40 coins CAN in fact be screened/scanned from one script (here I am doing all of KUCOIN's Margin Coins...72 total I look at)...BUT...(heres the catch) it must be added to the chart however many times EQUAL to the amount of "sets" you have in your script. (Heres the limitation by TV) There cannot be more than 40 coins in each "set". The less coins you have per set, the quicker the script will startup and run, thus, the quicker alerts will be received if automating the process. Though, if you only have the free plan and can only have MAX 3 indicators per chart then the MAX you can screen at a time is 120 coins if you use 40 coins per set. So, this is the first one I would like to introduce. For this one your screener/scanner must be using some sort of plots as output that is being screened for. (original inspiration of ALL my variations mainly come from @QuantNomad, @daveatt, and @LonesomeTheBlue (and a few others I may be forgetting at the moment). Thanks for the inspiration through countless publications that ya'll have created for us in the community.
Some of my variations are more complex/elegant than others but there are MANY very different ones that I would like to share with the community. If you leave a comment and wonder why I have not responded but did so to every comment around yours...see if you are one of the individuals in this next few sentences...and if you are then perhaps someone else would like to waste their time responding to your comment...but basically, if you don't want to spend the time helping yourself by reading the title, description section, AND the comments section (at least scanning them) then I am MOST DEFINITELY not going to help you down your path of destruction that is most likely soon to be your blown-up trading account. I was called a "masochist" after asking for guidance on if its worth the headache to publish anything on TV bc there will NO DOUBT be comments that'll make me wish I didn't (ie. someone CLEARLY not reading the description (or seemingly even the title sometimes) bc they make a comment that has been explicitly addressed, or someone asking to rebuild the code compatible for another charting software or whatnot, or how about those asking if it repaints (this one is almost always addressed in the comments section but I can understand this question more than others as Im only 1 yr into learning any sort of coding for the first time in the beginning I saw people ask on EVERY script about if it repainted and it was worrisome at the lest (esp bc I didn't even understand what it was not so long ago, or my favorite...what TF it works best on...these people CLEARLY need not be trading yet if your still asking questions as such...Ill end it there). Point being, Ive got some truly VERY useful scripts that I want to share and as long as these people don't make me regret doing so in the beginning, then whats mine...will soon be yours. Though, I will take a little time between the releases.
YOU GUYS (TV and its community) ARE AWESOME (most of you anyways ;)
MUCH LOVE,
ChasinAlts
(1) INPUTS
Here is where the "sets" come in. I am looking at all of KUCOIN's Margin Coins (72 of them at least) so am splitting them up into 3 sets/iterations and a copy of the script must be added equal to amount of "sets" you have here. This is the ONLY workaround I have found to be able to scan/screen with more than 40 coins per script (due to TV's limitation of 40 Security Calls per script) ***So for everyone saying it's impossible scan more than 40 Coins per scipt...it' MOST DEFINITELY possible....BUT ONLY by adding this script multiple times on the chart and selecting 1 of each of the "sets" in the script settings via the chart window. To save the much needed room you must push each iteration of the script into 1 window and merging the scales of each into 1 scale(ie. "Scale A") within the settings of the script name on the chart(3 horizontal dots)
(2) FUNCTION
(2.1) COLORIDs
This is just to set up all my Colors of plots which are being matched with their respective labels. I have a diff color for each of the 72 coins Im plotting so Im telling the function, "depending on which set of coins I select...give me this color out of the colors I input later into the function"
(2.2) TICKERID CONSTRUCTION
I construct the tickerID this way so that the labels on my plots have only the Coin's name vs the label having the (Exchange Name):(Coin Name)(Base Pair Name). If you are using more than 1 Base pair (ie. XRP/BTC and XRP/USDT and XRP/ETH) OR more than 1 Exchange OR want your plots to show MORE THAN just the Trading Coin's name, then the tickerID MUST BE constructed differently
(2.3) SECURITY CALL & PLOT OUTPUT VARIABLES
If using a Higher Time Frame in Security Call then it MUST BE adjusted to permit or dissallow repainting if you so wish (BEYOND THE SCOPE OF THIS PUBLICATION so Do Your Own Researh). If your MAIN LOGIC is more complex than simply using a TV built-in function), THEN it MUST BE built into its own function outside of this function and called on within the "expression" slot of this Security Call OR can also be built into this function and called on in the "expression" slot of this Security call (BEYOND THE SCOPE OF THIS PUB SO DYOR). FURTHERMORE...when you are using a series(ie high/low/close/open/hl2/etc) / bar_index / time / etc that will be specific to the Coin/tickerID, then they MUST BE explicitly used within the "expression" slot of the Security Function when calling on your Main Logic or else it will pull the series/time/bar_index/etc from the Coin that the Chart is presently on (BEYOND THE SCOPE OF THIS PUB SO DYOR)
(2.4) PLOT LABEL
This is the Plot's Label that will be next to the end of the plot on the LAST bar_index. ***Notice in the "text" slot of the label I have "_coin" (without the quotes obviously)...this is where have JUST the Coin's name comes into effect on the label vs the (Exchange Name):(Coin Name)(Base Pair Name) which looks MUCH cleaner
(2.5) ALERT LOGIC / ALERT LABEL
Your alert logic need not be as complex as this... I just wanted to create a decent enough timing for this system and wanted to simply print the labels displaying which coin produced the alert at the same time the alerts would go off. Alert is set up to Trigger Bullish when the ROC is below the Threshold and _chg > _chg X=length of bars inputted in "Rising/Falling Length" setting and vise versa for Bearish Alerts. If _chg plot only goes past threshold for a VERY few amount of bars NOT providing enough time for initial Alert to trigger, then alert/label triggers on crossing of threshold back towards 0(zero). ONLY 1 alert needs to be set per script to be able to scan ALL 72 of the coins as I have them in this script. Timing of Alert is inline with the name label printed past the thresholds.
(3) VARIABLES FROM MAIN FUNCTION
This is the tuple of the Main Function that outputs the variables from 3 lines up to be able to plot the lines and color them according to the colors on the labels. *** As of now, we CANNOT plot from within the function so MUST BE done this way to produce the variables and colors needed. The plots are the ONLY thing in this script that cannot be executed from within the function
(4) LINE PLOTS
ALL output variables from our Main Function are used here for the line plots
Monte Carlo Range Forecast [DW]This is an experimental study designed to forecast the range of price movement from a specified starting point using a Monte Carlo simulation.
Monte Carlo experiments are a broad class of computational algorithms that utilize random sampling to derive real world numerical results.
These types of algorithms have a number of applications in numerous fields of study including physics, engineering, behavioral sciences, climate forecasting, computer graphics, gaming AI, mathematics, and finance.
Although the applications vary, there is a typical process behind the majority of Monte Carlo methods:
-> First, a distribution of possible inputs is defined.
-> Next, values are generated randomly from the distribution.
-> The values are then fed through some form of deterministic algorithm.
-> And lastly, the results are aggregated over some number of iterations.
In this study, the Monte Carlo process used generates a distribution of aggregate pseudorandom linear price returns summed over a user defined period, then plots standard deviations of the outcomes from the mean outcome generate forecast regions.
The pseudorandom process used in this script relies on a modified Wichmann-Hill pseudorandom number generator (PRNG) algorithm.
Wichmann-Hill is a hybrid generator that uses three linear congruential generators (LCGs) with different prime moduli.
Each LCG within the generator produces an independent, uniformly distributed number between 0 and 1.
The three generated values are then summed and modulo 1 is taken to deliver the final uniformly distributed output.
Because of its long cycle length, Wichmann-Hill is a fantastic generator to use on TV since it's extremely unlikely that you'll ever see a cycle repeat.
The resulting pseudorandom output from this generator has a minimum repetition cycle length of 6,953,607,871,644.
Fun fact: Wichmann-Hill is a widely used PRNG in various software applications. For example, Excel 2003 and later uses this algorithm in its RAND function, and it was the default generator in Python up to v2.2.
The generation algorithm in this script takes the Wichmann-Hill algorithm, and uses a multi-stage transformation process to generate the results.
First, a parent seed is selected. This can either be a fixed value, or a dynamic value.
The dynamic parent value is produced by taking advantage of Pine's timenow variable behavior. It produces a variable parent seed by using a frozen ratio of timenow/time.
Because timenow always reflects the current real time when frozen and the time variable reflects the chart's beginning time when frozen, the ratio of these values produces a new number every time the cache updates.
After a parent seed is selected, its value is then fed through a uniformly distributed seed array generator, which generates multiple arrays of pseudorandom "children" seeds.
The seeds produced in this step are then fed through the main generators to produce arrays of pseudorandom simulated outcomes, and a pseudorandom series to compare with the real series.
The main generators within this script are designed to (at least somewhat) model the stochastic nature of financial time series data.
The first step in this process is to transform the uniform outputs of the Wichmann-Hill into outputs that are normally distributed.
In this script, the transformation is done using an estimate of the normal distribution quantile function.
Quantile functions, otherwise known as percent-point or inverse cumulative distribution functions, specify the value of a random variable such that the probability of the variable being within the value's boundary equals the input probability.
The quantile equation for a normal probability distribution is μ + σ(√2)erf^-1(2(p - 0.5)) where μ is the mean of the distribution, σ is the standard deviation, erf^-1 is the inverse Gauss error function, and p is the probability.
Because erf^-1() does not have a simple, closed form interpretation, it must be approximated.
To keep things lightweight in this approximation, I used a truncated Maclaurin Series expansion for this function with precomputed coefficients and rolled out operations to avoid nested looping.
This method provides a decent approximation of the error function without completely breaking floating point limits or sucking up runtime memory.
Note that there are plenty of more robust techniques to approximate this function, but their memory needs very. I chose this method specifically because of runtime favorability.
To generate a pseudorandom approximately normally distributed variable, the uniformly distributed variable from the Wichmann-Hill algorithm is used as the input probability for the quantile estimator.
Now from here, we get a pretty decent output that could be used itself in the simulation process. Many Monte Carlo simulations and random price generators utilize a normal variable.
However, if you compare the outputs of this normal variable with the actual returns of the real time series, you'll find that the variability in shocks (random changes) doesn't quite behave like it does in real data.
This is because most real financial time series data is more complex. Its distribution may be approximately normal at times, but the variability of its distribution changes over time due to various underlying factors.
In light of this, I believe that returns behave more like a convoluted product distribution rather than just a raw normal.
So the next step to get our procedurally generated returns to more closely emulate the behavior of real returns is to introduce more complexity into our model.
Through experimentation, I've found that a return series more closely emulating real returns can be generated in a three step process:
-> First, generate multiple independent, normally distributed variables simultaneously.
-> Next, apply pseudorandom weighting to each variable ranging from -1 to 1, or some limits within those bounds. This modulates each series to provide more variability in the shocks by producing product distributions.
-> Lastly, add the results together to generate the final pseudorandom output with a convoluted distribution. This adds variable amounts of constructive and destructive interference to produce a more "natural" looking output.
In this script, I use three independent normally distributed variables multiplied by uniform product distributed variables.
The first variable is generated by multiplying a normal variable by one uniformly distributed variable. This produces a bit more tailedness (kurtosis) than a normal distribution, but nothing too extreme.
The second variable is generated by multiplying a normal variable by two uniformly distributed variables. This produces moderately greater tails in the distribution.
The third variable is generated by multiplying a normal variable by three uniformly distributed variables. This produces a distribution with heavier tails.
For additional control of the output distributions, the uniform product distributions are given optional limits.
These limits control the boundaries for the absolute value of the uniform product variables, which affects the tails. In other words, they limit the weighting applied to the normally distributed variables in this transformation.
All three sets are then multiplied by user defined amplitude factors to adjust presence, then added together to produce our final pseudorandom return series with a convoluted product distribution.
Once we have the final, more "natural" looking pseudorandom series, the values are recursively summed over the forecast period to generate a simulated result.
This process of generation, weighting, addition, and summation is repeated over the user defined number of simulations with different seeds generated from the parent to produce our array of initial simulated outcomes.
After the initial simulation array is generated, the max, min, mean and standard deviation of this array are calculated, and the values are stored in holding arrays on each iteration to be called upon later.
Reference difference series and price values are also stored in holding arrays to be used in our comparison plots.
In this script, I use a linear model with simple returns rather than compounding log returns to generate the output.
The reason for this is that in generating outputs this way, we're able to run our simulations recursively from the beginning of the chart, then apply scaling and anchoring post-process.
This allows a greater conservation of runtime memory than the alternative, making it more suitable for doing longer forecasts with heavier amounts of simulations in TV's runtime environment.
From our starting time, the previous bar's price, volatility, and optional drift (expected return) are factored into our holding arrays to generate the final forecast parameters.
After these parameters are computed, the range forecast is produced.
The basis value for the ranges is the mean outcome of the simulations that were run.
Then, quarter standard deviations of the simulated outcomes are added to and subtracted from the basis up to 3σ to generate the forecast ranges.
All of these values are plotted and colorized based on their theoretical probability density. The most likely areas are the warmest colors, and least likely areas are the coolest colors.
An information panel is also displayed at the starting time which shows the starting time and price, forecast type, parent seed value, simulations run, forecast bars, total drift, mean, standard deviation, max outcome, min outcome, and bars remaining.
The interesting thing about simulated outcomes is that although the probability distribution of each simulation is not normal, the distribution of different outcomes converges to a normal one with enough steps.
In light of this, the probability density of outcomes is highest near the initial value + total drift, and decreases the further away from this point you go.
This makes logical sense since the central path is the easiest one to travel.
Given the ever changing state of markets, I find this tool to be best suited for shorter term forecasts.
However, if the movements of price are expected to remain relatively stable, longer term forecasts may be equally as valid.
There are many possible ways for users to apply this tool to their analysis setups. For example, the forecast ranges may be used as a guide to help users set risk targets.
Or, the generated levels could be used in conjunction with other indicators for meaningful confluence signals.
More advanced users could even extrapolate the functions used within this script for various purposes, such as generating pseudorandom data to test systems on, perform integration and approximations, etc.
These are just a few examples of potential uses of this script. How you choose to use it to benefit your trading, analysis, and coding is entirely up to you.
If nothing else, I think this is a pretty neat script simply for the novelty of it.
----------
How To Use:
When you first add the script to your chart, you will be prompted to confirm the starting date and time, number of bars to forecast, number of simulations to run, and whether to include drift assumption.
You will also be prompted to confirm the forecast type. There are two types to choose from:
-> End Result - This uses the values from the end of the simulation throughout the forecast interval.
-> Developing - This uses the values that develop from bar to bar, providing a real-time outlook.
You can always update these settings after confirmation as well.
Once these inputs are confirmed, the script will boot up and automatically generate the forecast in a separate pane.
Note that if there is no bar of data at the time you wish to start the forecast, the script will automatically detect use the next available bar after the specified start time.
From here, you can now control the rest of the settings.
The "Seeding Settings" section controls the initial seed value used to generate the children that produce the simulations.
In this section, you can control whether the seed is a fixed value, or a dynamic one.
Since selecting the dynamic parent option will change the seed value every time you change the settings or refresh your chart, there is a "Regenerate" input built into the script.
This input is a dummy input that isn't connected to any of the calculations. The purpose of this input is to force an update of the dynamic parent without affecting the generator or forecast settings.
Note that because we're running a limited number of simulations, different parent seeds will typically yield slightly different forecast ranges.
When using a small number of simulations, you will likely see a higher amount of variance between differently seeded results because smaller numbers of sampled simulations yield a heavier bias.
The more simulations you run, the smaller this variance will become since the outcomes become more convergent toward the same distribution, so the differences between differently seeded forecasts will become more marginal.
When using a dynamic parent, pay attention to the dispersion of ranges.
When you find a set of ranges that is dispersed how you like with your configuration, set your fixed parent value to the parent seed that shows in the info panel.
This will allow you to replicate that dispersion behavior again in the future.
An important thing to note when settings alerts on the plotted levels, or using them as components for signals in other scripts, is to decide on a fixed value for your parent seed to avoid minor repainting due to seed changes.
When the parent seed is fixed, no repainting occurs.
The "Amplitude Settings" section controls the amplitude coefficients for the three differently tailed generators.
These amplitude factors will change the difference series output for each simulation by controlling how aggressively each series moves.
When "Adjust Amplitude Coefficients" is disabled, all three coefficients are set to 1.
Note that if you expect volatility to significantly diverge from its historical values over the forecast interval, try experimenting with these factors to match your anticipation.
The "Weighting Settings" section controls the weighting boundaries for the three generators.
These weighting limits affect how tailed the distributions in each generator are, which in turn affects the final series outputs.
The maximum absolute value range for the weights is . When "Limit Generator Weights" is disabled, this is the range that is automatically used.
The last set of inputs is the "Display Settings", where you can control the visual outputs.
From here, you can select to display either "Forecast" or "Difference Comparison" via the "Output Display Type" dropdown tab.
"Forecast" is the type displayed by default. This plots the end result or developing forecast ranges.
There is an option with this display type to show the developing extremes of the simulations. This option is enabled by default.
There's also an option with this display type to show one of the simulated price series from the set alongside actual prices.
This allows you to visually compare simulated prices alongside the real prices.
"Difference Comparison" allows you to visually compare a synthetic difference series from the set alongside the actual difference series.
This display method is primarily useful for visually tuning the amplitude and weighting settings of the generators.
There are also info panel settings on the bottom, which allow you to control size, colors, and date format for the panel.
It's all pretty simple to use once you get the hang of it. So play around with the settings and see what kinds of forecasts you can generate!
----------
ADDITIONAL NOTES & DISCLAIMERS
Although I've done a number of things within this script to keep runtime demands as low as possible, the fact remains that this script is fairly computationally heavy.
Because of this, you may get random timeouts when using this script.
This could be due to either random drops in available runtime on the server, using too many simulations, or running the simulations over too many bars.
If it's just a random drop in runtime on the server, hide and unhide the script, re-add it to the chart, or simply refresh the page.
If the timeout persists after trying this, then you'll need to adjust your settings to a less demanding configuration.
Please note that no specific claims are being made in regards to this script's predictive accuracy.
It must be understood that this model is based on randomized price generation with assumed constant drift and dispersion from historical data before the starting point.
Models like these not consider the real world factors that may influence price movement (economic changes, seasonality, macro-trends, instrument hype, etc.), nor the changes in sample distribution that may occur.
In light of this, it's perfectly possible for price data to exceed even the most extreme simulated outcomes.
The future is uncertain, and becomes increasingly uncertain with each passing point in time.
Predictive models of any type can vary significantly in performance at any point in time, and nobody can guarantee any specific type of future performance.
When using forecasts in making decisions, DO NOT treat them as any form of guarantee that values will fall within the predicted range.
When basing your trading decisions on any trading methodology or utility, predictive or not, you do so at your own risk.
No guarantee is being issued regarding the accuracy of this forecast model.
Forecasting is very far from an exact science, and the results from any forecast are designed to be interpreted as potential outcomes rather than anything concrete.
With that being said, when applied prudently and treated as "general case scenarios", forecast models like these may very well be potentially beneficial tools to have in the arsenal.
String Manipulation Framework [PineCoders FAQ]█ OVERVIEW
This script provides string manipulation functions to help Pine coders.
█ FUNCTIONS PROVIDED
f_strLeft(_str, _n)
Function returning the leftmost `_n` characters in `_str`.
f_strRight(_str, _n)
Function returning the rightmost `_n` characters in `_str`.
f_strMid(_str, _from, _to)
Function returning the substring of `_str` from character position `_from` to `_to` inclusively.
f_strLeftOf(_str, _of)
Function returning the sub-string of `_str` to the left of the `_of` separating character.
f_strRightOf(_str, _of)
Function returning the sub-string of `_str` to the right of the `_of` separating character.
f_strCharPos(_str, _chr)
Function returning the position of the first occurrence of `_chr` in `_str`, where the first character position is 0. Returns -1 if the character is not found.
f_strReplace(_src, _pos, _str)
Function that replaces a character at position `_pos` in the `_src` string with the `_str` character or string.
f_tickFormat()
Function returning a format string usable with `tostring()` to round a value to the symbol's tick precision.
f_tostringPad(_val, _fmt)
Function returning a string representation of a numeric `_val` using a special `_fmt` string allowing all strings to be of the same width, to help align columns of values.
`f_tostringPad()`
Using the functions should be straightforward, but `f_tostringPad()` requires more explanations. Its purpose is to help coders produce columns of fixed-width string representations of numbers which can be used to produce columns of numbers that vertically align neatly in labels, something that comes in handy when, for example, you need to center columns, yet still produce numbers of various lengths that nonetheless align.
While the formatting string used with this function resembles the one used in tostring() , it has a few additional characteristics:
• The question mark (" ? ") is used to indicate that padding is needed.
• If negative numbers must be handled by the function, the first character of the formatting string must be a minus sign ("-"),
otherwise the unary minus sign of negative numbers will be stripped out.
• You will produce more predictable results by using "0" rather than "#" in the formatting string.
You can experiment with `f_tostringPad()` formatting strings by changing the one used in the script's inputs and see the results on the chart.
These are some valid examples of formatting strings that can be used with `f_tostringPad()`:
"???0": forces strings to be four units wide, in all-positive "int" format.
"-???0": forces strings to be four units wide, plus room for a unary minus sign in the first position, in "int" format.
"???0.0": forces strings to be four units wide to the left of the point, all-positive, with a decimal point and then a mantissa rounded to a single digit.
"-???0.0?": same as above, but adds a unary minus sign for negative values, and adds a space after the single-digit mantissa.
"?????????0.0": forces the left part of the float to occupy the space of 10 digits, with a decimal point and then a mantissa rounded to a single digit.
█ CHART
The information displayed by this indicator uses the values in the script's Inputs, so you can use them to play around.
The chart shows the following information:
• Column 0 : The numeric input values in a centered column, converted to strings using tostring() without a formatting argument.
• Column 1 : Shows the values formatted using `f_tostringPad()` with the formatting string from the inputs.
• Column 2 : Shows the values formatted using `f_tostringPad()` but with only the part of the formatting string left of the decimal point, if it contains one.
• Column 3 : Shows the values formatted using `f_tostringPad()` but with the part of the formatting string left of the decimal point,
to which is added the right part of the `f_tostringPad()` formatting string, to obtain the precision in ticks of the symbol the chart is on.
• Column 4 : Shows the result of using the other string manipulation functions in the script on the source string supplied in the inputs.
It also demonstrates how to split up a label in two distinct parts so that you can vertically align columns when the leftmost part contains strings with varying lengths.
You will see in our code how we construct this column in two steps.
█ LIMITATIONS
The Pine runtime is optimized for number crunching. Too many string manipulations will take a toll on the performance of your scripts, as can readily be seen with the running time of this script. To minimize the impact of using string manipulation functions in your scripts, consider limiting their calculation to the first or last bar of the dataset when possible. This can be achieved by using the var keyword when declaring variables containing the result of your string manipulations, or by enclosing blocks of code in if blocks using barstate.isfirst or barstate.islast .
█ NOTES
To understand the challenges we face when trying to align strings vertically, it is useful to know that:
• As is the case in many other places in the TadingView UI and other docs, the Pine runtime uses the MS Trebuchet font to display label text.
• Trebuchet uses proportionally-spaced letters (a "W" takes more horizontal space than an "I"), but fixed-space digits (a "1" takes the same horizontal space as a "3").
Digits all use a figure space width, and it is this property that allows us to align numbers vertically.
The fact that letters are proportionally spaced is the reason why we can't vertically align columns using a "legend" + ":" `+ value structure when the "legend" part varies in width.
• The unary minus sign is the width of a punctuation space . We use this property to pad the beginning of numbers
when you use a "-" as the first character of the `f_tostringPad()` formatting string.
Our script was written using the PineCoders Coding Conventions for Pine .
The description was formatted using the techniques explained in the How We Write and Format Script Descriptions PineCoders publication.
█ THANKS
Thanks to LonesomeTheBlue for the `f_strReplace()` function.
Look first. Then leap.
Support and Resistance levels from Options DataINTRODUCTION
This script is designed to visualize key support and resistance levels derived from options data on TradingView charts. It overlays lines, labels, and boxes to highlight levels such as Put Walls (gamma support), Call Walls (gamma resistance), Gamma Flip points, Vanna levels, and more.
These levels are intended to help traders identify potential areas of price magnetism, reversal, or breakout based on options market dynamics. All calculations and visualizations are based on user-provided data pasted into the input field, as Pine Script cannot directly fetch external options data due to platform limitations (explained below).
For convenience, my website allows users to interact with a bot that will generate the string for up to 30 tickers at once getting nearly real-time data on demand (data is cached for 15min). With the output string pasted into this indicator, it's a bliss to shuffle through your portfolio and see those levels for each ticker.
The script is open-source under TradingView's terms, allowing users to study, modify, and improve it. It draws inspiration from common options-derived metrics like gamma exposure and vanna, which are widely discussed in financial literature. No external code is copied without rights; all logic is original or based on standard mathematical formulas.
How the Options Levels Are Calculated
The levels displayed by this script are not computed within Pine Script itself—instead, they rely on pre-calculated values provided by the user (via a pasted data string). These values are derived from options chain data fetched from financial APIs (e.g., using libraries like yfinance in Python). Here's a step-by-step overview of how these levels are generally calculated externally before being input into the script:
Fetching Options Data:
Historical and current options chain data for a ticker (e.g., strikes, open interest, volume, implied volatility, expirations) is retrieved for near-term expirations (e.g., up to 90 days).
Current stock price is obtained from recent history.
Gamma Support (Put Wall) and Resistance (Call Wall):
Gamma Calculation: For each option, gamma (the rate of change of delta) is computed using the Black-Scholes formula:
gamma = N'(d1) / (S * sigma * sqrt(T))
where S is the stock price, K is the strike, T is time to expiration (in years), sigma is implied volatility, r is the risk-free rate (e.g., 0.0445), and N'(d1) is the normal probability density function.
Weighted gamma is multiplied by open interest and aggregated by strike.
The Put Wall is the strike below the current price with the highest weighted gamma from puts (acting as support).
The Call Wall is the strike above the current price with the highest weighted gamma from calls (acting as resistance).
Short-term versions focus on strikes closer to the money (e.g., within 10-15% of the price).
Gamma Flip Level:
Net dealer gamma exposure (GEX) is calculated across all strikes:
GEX = sum (gamma * OI * 100 * S^2 * sign * decay)
where sign is +1 for calls/-1 for puts, and decay is 1 / sqrt(T).
The flip point is the price where net GEX changes sign (from positive to negative or vice versa), interpolated between strikes.
Vanna Levels:
Vanna (sensitivity of delta to volatility) is calculated:
vanna = -N'(d1) * d2 / sigma
where d2 = d1 - sigma * sqrt(T).
Weighted by open interest, the highest positive and negative vanna strikes are identified.
Other Levels:
S1/R1: Significant strikes with high combined open interest and volume (80% OI + 20% volume), below/above price for support/resistance.
Implied Move: ATM implied volatility scaled by S * sigma * sqrt(d/365) (e.g., for 7 days).
Call/Put Ratio: Total call contracts divided by put contracts (OI + volume).
IV Percentage: Average ATM implied volatility.
Options Activity Level: Average contracts per unique strike, binned into levels (0-4).
Stop Loss: Dynamically set below the lowest support (e.g., Put Wall, Gamma Flip), adjusted by IV (tighter in low IV).
Fib Target: 1.618 extension from Put Wall to Call Wall range.
Previous day levels are stored for comparison (e.g., to detect Call Wall movement >2.5% for alerts).
Effect as Support and Resistance in Technical Trading
Options levels like gamma walls influence price action due to market maker hedging:
Put Wall (Gamma Support): High put gamma below price creates a "magnet" effect—market makers buy stock as price falls, providing support. Traders might look for bounces here as entry points for longs.
Call Wall (Gamma Resistance): High call gamma above price leads to selling pressure from hedging, acting as resistance. Rejections here could signal trims, sells or even shorts.
Gamma Flip: Where gamma exposure flips sign, often a volatility pivot—crossing it can accelerate moves (bullish above, bearish below).
Vanna Levels: Positive/negative vanna indicate volatility sensitivity; crosses may signal regime shifts.
Implied Move: Shows expected range; prices outside suggest overextension.
S1/R1 and Fib Target: Volume/OI clusters act as classic S/R; Fib extensions project upside targets post-breakout.
In trading, these are not guarantees—combine with TA (e.g., volume, trends). High activity levels imply stronger effects; low CP ratio suggests bearish sentiment. Alerts trigger on proximities/crosses for awareness, not advice.
Limitations of the TradingView Platform for Data Pulling
TradingView's Pine Script is sandboxed for security and performance:
No direct internet access or API calls (e.g., can't fetch yfinance data in-script).
Limited to chart data/symbol info; no real-time options chains.
Inputs are static per load; updates require manual pasting.
Caching isn't persistent across sessions.
This prevents dynamic data pulling, ensuring scripts remain lightweight but requiring external tools for fresh data.
Creative Solution for On-Demand Data Pulling
To overcome these limitations, users can use external tools or scripts (e.g., Python-based) to fetch and compute levels on demand. The tool processes tickers, generates a formatted string (e.g., "TICKER:level1,level2,...;TIMESTAMP:unix;"), and users paste it into the script's input. This keeps data fresh without violating platform rules, as computation happens off-platform. For example, run a local script to query APIs and output the string—adaptable for any ticker.
Script Functionality Breakdown
Inputs: Custom data string (parsed for levels/timestamp); toggles for short-term/previous/Vanna/stop loss; style options (colors, transparency).
Parsing: Extracts levels for the chart symbol; gets timestamp for "updated ago" display.
Drawing: Lines/labels for levels; boxes for gamma zones/implied move; clears old elements on updates.
Info Panel: Top-right summary with metrics (CP ratio, IV, distances, activity); emojis for quick status.
Alerts: Conditions for proximities, crosses, bounces (e.g., 0.5% bounce from Put Wall).
Performance: Uses vars for persistence; efficient for real-time.
This script is educational—test thoroughly. Not financial advice; past performance isn't indicative of future results. Feedback welcome via TradingView comments.
Day Range Breakout Strategy + Trend Structure Filter🚀 Enhanced Strategy for Breaking Previous Day’s Extremes with Market Structure-Based Trend
The strategy focuses on breakouts of previous day’s highs and lows, filtered by trend direction based on market structure.
🔑 Key Improvements
1️⃣ Solved the repainting issue.
There are similar strategies in the community, but the historical results of those algorithms do not correspond to the results of real backtesting.
2️⃣ Added a trend filter.
In most cases, this makes it possible to achieve higher profitability. It works as follows:
The script determines market structure based on a defined number of previous candles.
If there are higher highs and higher lows, this is considered an uptrend structure.
If there are lower highs and lower lows, this is considered a downtrend structure.
The trend filter is adjusted using the Lookback Period setting.
3️⃣ Choice of entry principle.
Implemented the ability to choose whether trades are opened based on closing prices or by high/low breakout, which allows finding the optimal settings for a specific instrument.
4️⃣ Improved entry/exit logic.
When an opposite signal appears, before entering a trade, the script first closes the previous position.
✅ This makes the strategy fully ready for algorithmic trading via webhook on any exchange that supports this function.
5️⃣ Better visualization.
🟥 Red and 🟩 green backgrounds indicate the trend direction.
⚙️ How It Works
The principle of the strategy as follows:
Wait for the breakout of the previous day’s high or low.
Enter long on a breakout of the high, or short on a breakout of the low in the market structure trend direction.
Exit occurs on the breakout of the opposite extreme.
📈 This allows capturing long trends.
⚠️ But, like all similar strategies, in a sideways market it produces losing trades.
⚙️ Default Settings
Breakout Confirmation:
The breakout is determined by the candle close.
You can also choose high/low, but this often gives more false signals. However, on some assets, it may show higher profitability in backtesting.
Trend Structure Period:
The default value is 15.
This means the script analyzes the last 15 candles on the selected timeframe to determine market structure as described above.
Position Size:
Fixed at $1,000, which is 1% of the initial capital of $100,000 to keep risks under control.
Commission:
Set to 0.1%, which is sufficient for most cryptocurrency exchanges.
Slippage:
Configured at 1 tick.
Funding Note:
Keep in mind that funding is not included in this strategy.
It’s impossible to predict whether it will be positive or negative, and it can vary significantly across exchanges, so it is not part of the default settings.
🕒 Recommended Settings
Timeframe: 1H and higher
On lower timeframes → significant discrepancies may occur between historical and real backtesting data.
On higher timeframes → minor differences are possible, related to slippage, sharp moves, and other unpredictable situations.
⚠️ Important Notes
Always remember: Strategy results may not repeat in the future.
The market constantly changes, so:
✅ Monitor the situation
✅ Backtest regularly
✅ Adjust settings for each asset
Also remember about possible bugs in any algorithmic trading strategy.
Even if a script is well-tested, no one knows what unpredictable events the market may bring tomorrow.
⚠️ Risk Management:
Do not risk more than 1% of your deposit per trade, otherwise you may lose your account balance, since this strategy works without stop losses.
⚠️ Disclaimer
The author of the strategy does not encourage anyone to use this algorithm and bears no responsibility for any possible financial losses resulting from its application!
Any decision to use this strategy is made personally by the owners of TradingView accounts and cryptocurrency exchange accounts.
📝 Final Notes
This is not the final version. I already have ideas on how to improve it further, so follow me to not miss updates.
🐞 Bug Reports
If you notice any bugs or inconsistencies in my algorithm,
please let me know — I will try to fix them as quickly as possible.
💬 Feedback & Suggestions
If you have any ideas on how this or any of my other strategies can be improved, feel free to write to me. I will try to implement your suggestions in the script.
Wishing everyone good luck and stable profits! 🚀💰
Uptrick: Portfolio Allocation DiversificationIntro
The Uptrick: Portfolio Allocation Diversification script is designed to help traders and investors manage multiple assets simultaneously. It generates signals based on various trading systems, allocates capital using different diversification methods, and displays real-time metrics and performance tables on the chart. The indicator compares active trading strategies with a separate long-term holding (HODL) simulation, allowing you to see how a systematic trading approach stacks up against a simple buy-and-hold strategy.
------------------------------------------------------------------------
Trading System Selection
1. No signals (none)
In this mode, the script does not produce bullish or bearish indicators; every asset stays in a neutral stance. This setup is useful if you prefer to observe how capital might be distributed based solely on the chosen diversification method, with no influence from directional signals.
2. rsi – neutral
This mode uses an index-based measure of whether an asset appears overbought or oversold. It generates a bearish signal if market conditions point to overbought territory, and a bullish signal if they indicate oversold territory. If neither extreme surfaces, it remains neutral. Some traders apply this in sideways or range-bound conditions, where overbought and oversold levels often hint at possible turning points. It does not specifically account for divergence patterns.
3. rsi – long only
In this setting, the system watches for instances where momentum readings strengthen even if the asset’s price is still under pressure or setting new lows. It also considers oversold levels as potential signals for a bullish setup. When such conditions emerge, the script flags a possible move to the upside, ignoring indications that might otherwise suggest a bearish trend. This approach is generally favored by those who want to concentrate exclusively on identifying price recoveries.
4. rsi – short only
Here, the script focuses on spotting signs of deteriorating momentum while an asset’s price remains relatively high or attempts further gains. It also checks whether the market is drifting into overbought territory, suggesting a potential decline. Under such conditions, it issues a bearish signal. It provides no bullish alerts, making it particularly suitable for traders who look to take advantage of overvalued scenarios or protect themselves against sudden downward moves.
5. Deviation from fair value
Under this system, the script judges how far the current price may have strayed from what is considered typical, taking into account normal fluctuations. If the asset appears to be trading at an unusually low level compared to that reference, it is flagged as bullish. If it seems abnormally high, a bearish signal is issued. This can be applied in various market environments to seek opportunities that arise from perceived mispricing.
6. Percentile channel valuation
In this mode, the script determines where an asset's price stands within a historical distribution, highlighting whether it has reached unusually high or low territory compared to its recent past. When the price reaches what is deemed an extreme reading, it may indicate that a reversal is more likely. This approach is often used by traders who watch for statistical outliers and potential reversion to a more typical trading range.
7. ATH valuation
This technique involves comparing an asset's current price with its previously recorded peak values. The script then interprets whether the price is positioned so far below the all-time high that it looks discounted, or so close to that high that it could be overextended. Such perspective is favored by market participants who want to see if an asset still has ample room to climb before matching historic extremes, or if it is nearing a possible ceiling.
8. Z-score system
Here, the script measures how far above or below a standard reference average an asset's price may be, translated into standardized units. Substantial negative readings can suggest a price that might be unusually weak, prompting a bullish indication, while large positive readings could signal overextension and lead to a bearish call. This method is useful for traders watching for abrupt deviations from a norm that often invite a reversion to more balanced levels.
RSI Divergence Period
This input is particularly relevant for the RSI - Long Only and RSI - Short Only modes. The period determines how many bars in the past you compare RSI values to detect any divergences.
------------------------------------------------------------------------
Diversification Method
Once the script has determined a bullish, bearish, or neutral stance for each asset, it then calculates how to distribute capital among all included assets. The diversification method sets the weighting logic.
1. None
Gives each asset an equal weight. For example, if you have five included assets, each might get 20 percent. This is a simple baseline.
2. Risk-Adjusted Expected Return Using Volatility Clustering
Emphasizes each asset’s average returns relative to its observed risk or volatility tendencies. Assets that exhibit good risk-adjusted returns combined with moderate or lower volatility may receive higher weights than more volatile or less appealing assets. This helps steer capital toward assets that have historically provided a better ratio of return to risk.
3. Relative Strength
Allocates more capital to assets that show stronger price strength compared to a reference (for example, price above a long-term moving average plus a higher RSI). Assets in clear uptrends may be given higher allocations.
4. Trend-Following Indicators
Examines trend-based signals, like positive momentum measurements or upward-trending strength indicators, to assign more weight to assets demonstrating strong directional moves. This suits those who prefer to latch onto trending markets.
5. Volatility-Adjusted Momentum
Looks for assets that have strong price momentum but relatively subdued volatility. The script tends to reward assets that are trending well yet are not too volatile, aiming for stable upward performance rather than massive swings.
6. Correlation-Based Risk Parity
Attempts to weight assets in such a way that the overall portfolio risk is more balanced. Although it is not an advanced correlation matrix approach in a strict sense, it conceptually scales each asset’s weight so no single outlier heavily dominates.
7. Omega Ratio Maximization
Gives preference to assets with higher omega ratios. This ratio can be interpreted as the probability-weighted gains versus losses. Assets with a favorable skew are given more capital.
8. Liquidity-Weighted Valuation
Considers each asset’s average trading liquidity, such as the combination of volume and price. More liquid assets typically receive a higher allocation because they can be entered or exited with lower slippage. If the trading system signals bullishness, that can further boost the allocation, and if it signals bearishness, the allocation might be set to zero or reduced drastically.
9. Drawdown-Controlled Allocation (DCA)
Examines each asset’s maximum drawdown over a recent window. Assets experiencing lighter drawdowns (thus indicating somewhat less downside volatility) receive higher allocations, aiming for a smoother overall equity curve.
------------------------------------------------------------------------
Portfolio and Allocation Settings
Portfolio Value
Defines how much total capital is available for the strategy-based investment portion. For example, if set to 10,000, then each asset’s monetary allocation is determined by the percentage weighting times 10,000.
Use Fixed Allocation
When enabled, the script calculates the initial allocation percentages after 50 bars of data have passed. It then locks those percentages for the remainder of the backtest or real-time session. This feature allows traders to test a static weighting scenario to see how it differs from recalculating weights at each bar.
------------------------------------------------------------------------
HODL Simulator
The script has a separate simulation that accumulates positions in an asset whenever it appears to be recovering from an undervalued state. This parallel tracking is intended to contrast a simple buy-and-hold approach with the more adaptive allocation methods used elsewhere in the script.
HODL Buy Quantity
Each time an asset transitions from an undervalued state to a recovery phase, the simulator executes a purchase of a predefined quantity. For example, if set to 0.5 units, the system will accumulate this amount whenever conditions indicate a shift away from undervaluation.
HODL Buy Threshold
This parameter determines the level at which the simulation identifies an asset as transitioning out of an undervalued state. When the asset moves above this threshold after previously being classified as undervalued, a buy order is triggered. Over time, the performance of these accumulated positions is tracked, allowing for a comparison between this passive accumulation method and the more dynamic allocation strategy.
------------------------------------------------------------------------
Asset Table and Display Settings
The script displays data in multiple tables directly on your chart. You can toggle these tables on or off and position them in various corners of your TradingView screen.
Asset Info Table Position
This table provides key details for each included asset, displaying:
Symbol – Identifies the trading pair being monitored. This helps users keep track of which assets are included in the portfolio allocation process.
Current Trading Signal – Indicates whether the asset is in a bullish, bearish, or neutral state based on the selected trading system. This assists in quickly identifying which assets are showing potential trade opportunities.
Volatility Approximation – Represents the asset’s historical price fluctuations. Higher volatility suggests greater price swings, which can impact risk management and position sizing.
Liquidity Estimate – Reflects the asset’s market liquidity, often based on trading volume and price activity. More liquid assets tend to have lower transaction costs and reduced slippage, making them more favorable for active strategies.
Risk-Adjusted Return Value – Measures the asset’s returns relative to its risk level. This helps in determining whether an asset is generating efficient returns for the level of volatility it experiences, which is useful when making allocation decisions.
2. Strategy Allocation Table Position
Displays how your selected diversification method converts each asset into an allocation percentage. It also shows how much capital is being invested per asset, the cumulative return, standard performance metrics (for example, Sharpe ratio), and the separate HODL return percentage.
Symbol – Displays the asset being analyzed, ensuring clarity in allocation distribution.
Allocation Percentage – Represents the proportion of total capital assigned to each asset. This value is determined by the selected diversification method and helps traders understand how funds are distributed within the portfolio.
Investment Amount – Converts the allocation percentage into a dollar value based on the total portfolio size. This shows the exact amount being invested in each asset.
Cumulative Return – Tracks the total return of each asset over time, reflecting how well it has performed since the strategy began.
Sharpe Ratio – Evaluates the asset’s return in relation to its risk by comparing excess returns to volatility. A higher Sharpe ratio suggests a more favorable risk-adjusted performance.
Sortino Ratio – Similar to the Sharpe ratio, but focuses only on downside risk, making it more relevant for traders who prioritize minimizing losses.
Omega Ratio – Compares the probability of achieving gains versus losses, helping to assess whether an asset provides an attractive risk-reward balance.
Maximum Drawdown – Measures the largest percentage decline from an asset’s peak value to its lowest point. This metric helps traders understand the worst-case loss scenario.
HODL Return Percentage – Displays the hypothetical return if the asset had been bought and held instead of traded actively, offering a direct comparison between passive accumulation and the active strategy.
3. Profit Table
If the Profit Table is activated, it provides a summary of the actual dollar-based gains or losses for each asset and calculates the overall profit of the system. This table includes separate columns for profit excluding HODL and the combined total when HODL gains are included. As seen in the image below, this allows users to compare the performance of the active strategy against a passive buy-and-hold approach. The HODL profit percentage is derived from the Portfolio Value input, ensuring a clear comparison of accumulated returns.
4. Best Performing Asset Table
Focuses on the single highest-returning or highest-profit asset at that moment. It highlights the symbol, the asset’s cumulative returns, risk metrics, and other relevant stats. This helps identify which asset is currently outperforming the rest.
5. Most Profitable Asset
A simpler table that underscores the asset producing the highest absolute dollar profit across the portfolio.
------------------------------------------------------------------------
Multi Asset Selection
You can include up to ten different assets (such as BTCUSDT, ETHUSDT, ADAUSDT, and so on) in this script. Each asset has two inputs: one to enable or disable its inclusion, and another to select its trading pair symbol. Once you enable an asset, the script requests the relevant market data from TradingView.
------------------------------------------------------------------------
Uniqness and Features
1. Multiple Data Fetches
Each asset is pulled from the chart’s timeframe, along with various metrics such as RSI, volatility approximations, and trend indicators.
2. Various Risk and Performance Metrics
The script internally keeps track of different measures, like Sharpe ratio (a measure of average return adjusted for risk), Sortino ratio (which focuses on downside volatility), Omega ratio, and maximum drawdown. These metrics feed into the strategy allocation table, helping you quickly assess the risk-and-return profile of each asset.
3. Real-Time Tables
Instead of having to set up complex spreadsheets or external dashboards, the script updates all tables on every new bar. The color schemes in these tables are designed to draw attention to bullish or bearish signals, positive or negative returns, and so forth.
4. HODL Comparison
You can visually compare the active strategy’s results to a separate continuous buy-on-dips accumulation strategy. This allows for insight into whether your dynamic approach truly beats a simpler, more patient method.
5. Locking Allocations
The Use Fixed Allocation input is convenient for those who want to see how holding a fixed distribution of capital performs over time. It helps in distinguishing between constant rebalancing vs a fixed, set-and-forget style.
------------------------------------------------------------------------
How to use
1. Add the Script to Your Chart
Once added, open the settings panel to configure your asset list, choose a trading system, and select the diversification approach.
2. Select Assets
Pick up to ten symbols to monitor. Disable any you do not want included. Each included asset is then handled for signals, diversification, and performance metrics.
3. Choose Trading System
Decide if you prefer RSI-based signals, a fair-value approach, or a percentile-based method, among others. The script will then flag assets as bullish, bearish, or neutral according to that selection.
4. Pick a Diversification Method
For example, you might choose Trend-Following Indicators if you believe momentum stocks or cryptocurrencies will continue their trends. Or you could use the Omega Ratio approach if you want to reward assets that have had a favorable upside probability.
5. Set Portfolio Value and HODL Parameters
Enter how much capital you want to allocate in total (for the dynamic strategy) and adjust HODL buy quantities and thresholds as desired. (HODL Profit % is calculated from the Portfolio Value)
6. Inspect the Tables
On the chart, the script can display multiple tables showing your allocations, returns, risk metrics, and which assets are leading or lagging. Monitor these to make decisions about capital distribution or see how the strategy evolves.
------------------------------------------------------------------------
Additional Remarks
This script aims to simplify multi-asset portfolio management in a single tool. It emphasizes user-friendliness by color-coding the data in tables, so you do not need extra spreadsheets. The script is also flexible in letting you lock allocations or compare dynamic updates.
Always remember that no script can guarantee profitable outcomes. Real markets involve unpredictability, and real trading includes fees, slippage, and liquidity constraints not fully accounted for here. The script uses real-time and historical data for demonstration and educational purposes, providing a testing environment for various systematic strategies.
Performance Considerations
Due to the complexity of this script, users may experience longer loading times, especially when handling multiple assets or using advanced allocation methods. In some cases, calculations may time out if too many settings are adjusted simultaneously. If this occurs, removing and reapplying the indicator to the chart can help reset the process. Additionally, it is recommended to configure inputs gradually instead of adjusting all parameters at once, as excessive changes can extend the script’s loading duration beyond TradingView’s processing limits.
------------------------------------------------------------------------
Originality
This script stands out by integrating multiple asset management techniques within a single indicator, eliminating the need for multiple scripts or external portfolio tools. Unlike traditional single-asset strategies, it simultaneously evaluates multiple assets, applies systematic allocation logic, and tracks risk-adjusted performance in real time. The script is designed to function within TradingView’s script limitations while still allowing for complex portfolio simulations, making it an efficient tool for traders managing diverse holdings. Additionally, its combination of systematic trading signals with allocation-based diversification provides a structured approach to balancing exposure across different market conditions. The dynamic interplay between adaptive trading strategies and passive accumulation further differentiates it from conventional strategy indicators that focus solely on directional signals without considering capital allocation.
Conclusion
Uptrick: Portfolio Allocation Diversification pulls multiple assets into one efficient workflow, where each asset’s signal, volatility, and performance is measured, then assigned a share of capital according to your selected diversification method. The script accommodates both dynamic rebalancing and a locked allocation style, plus an ongoing HODL simulation for passive accumulation comparison. It neatly visualizes the entire process through on-chart tables that are updated every bar.
Traders and investors looking for ways to manage multiple assets under one unified framework can explore the different modules within this script to find what suits their style. Users can quickly switch among trading systems, vary the allocation approach, or review side-by-side performance metrics to see which method aligns best with their risk tolerance and market perspective.
BRT Signals Buy / Sell v2Title: BRT Signals Buy/Sell v2
Description:
The BRT Signals Buy/Sell v2 script is an innovative and original trading indicator designed to generate precise buy and sell signals by uniquely combining several advanced technical analysis tools. This script introduces new methodologies not found in existing public scripts, offering traders enhanced accuracy and customization.
Key Original Features:
Proprietary Mean Reversion Channel (MRC) Oscillator:
Unlike traditional oscillators, our MRC oscillator is developed using a customized SuperSmoother function, transforming the mean reversion concept into a dynamic oscillator ranging from 0 to 100.
This unique approach allows for more responsive detection of overbought and oversold conditions, setting it apart from standard oscillators.
Advanced Moving Average Options with Jurik Moving Average (JMA):
Incorporates the Jurik Moving Average (JMA), an advanced MA that offers low lag and high smoothness, which is rarely included in public scripts due to its complexity.
Provides multiple MA types (EMA, SMA, RMA, VWMA, WMA, Wilders MA, JMA) for unparalleled customization, enabling traders to fine-tune the indicator to their specific strategies.
Enhanced ADX Trend Strength Filter:
Integrates a custom implementation of the Average Directional Index (ADX) with proprietary modifications to measure trend strength more accurately.
Our script's ADX filter reduces lag and improves the detection of strong trends, a feature not commonly available in other indicators.
Dual Signal Sensitivity Filters:
Introduces two types of signal sensitivity filters (Signal Sensitivity Type 1 and Type 2) that can be independently enabled or disabled.
This dual-filter system is a novel feature that allows for refined control over signal generation, enhancing the script's adaptability.
Sophisticated Labeling and Alert System:
Features a customizable labeling system with various styles and sizes, providing clear and immediate visual cues on the chart.
Includes meticulously configured alert conditions that work seamlessly with the script's unique logic, ensuring timely notifications.
How It Works:
Buy Signal:
Generated when the proprietary MRC oscillator value increases compared to its previous value, indicating upward momentum detected by our unique algorithm.
Price is above the selected moving average (if the EMA filter is enabled), confirming a bullish trend with enhanced precision due to the advanced MA options.
ADX conditions are met using our improved calculation method, ensuring signals occur only during strong uptrends.
Sell Signal:
Triggered when the MRC oscillator value decreases compared to its previous value, signaling downward momentum identified by our custom oscillator.
Price is below the selected moving average (if the EMA filter is enabled), confirming a bearish trend with greater accuracy.
ADX conditions are met, indicating strong downtrends, thanks to our proprietary enhancements to the ADX indicator.
Original Concepts and Calculations:
Customized SuperSmoother Filter: Our version of the SuperSmoother filter is tailored to work specifically with the MRC oscillator, providing smoother and more responsive signals than standard implementations.
Proprietary ADX Enhancements: We have modified the traditional ADX formula to better capture trend strength and direction, reducing lag and improving reliability in various market conditions.
Integration of Advanced Indicators: The script uniquely combines advanced indicators like JMA and our custom MRC oscillator, offering functionalities not found in other public scripts.
Usage Instructions:
Parameter Configuration:
Lookback Period: Adjusts the sensitivity of the Mean Reversion Channel to suit different market conditions.
Timeframe Selection: Analyze different timeframes independent of the chart's timeframe for multi-timeframe analysis.
MA Length and Type: Choose from various moving averages, including the advanced JMA, to align with your trading preferences.
Signal Sensitivity Filters: Enable or disable the EMA and ADX filters to refine signal accuracy based on your strategy.
Visual Aids and Alerts:
Customize label styles and sizes for optimal visualization on the chart.
Set up alerts using the built-in alert conditions to receive real-time notifications aligned with the script's unique logic.
Benefits of Originality:
Enhanced Signal Accuracy: The unique combination of advanced indicators and proprietary calculations reduces false signals, improving the quality of trading decisions.
High Adaptability: The script's extensive customization options allow it to be adapted to various assets, timeframes, and trading styles, making it suitable for a wide range of traders.
Unique Analytical Approach: By introducing new methodologies and integrating advanced technical tools in a novel way, this script provides traders with insights not available in other indicators.
Disclaimer:
This indicator is a unique tool developed to assist traders in making informed decisions. It should be used in conjunction with other analysis methods and does not guarantee profitable results. Always practice proper risk management and due diligence.
Money Flow Profile [LuxAlgo]The Money Flow Profile is a charting tool that measures the traded volume or the money flow at all price levels on the market over a specified time period and highlights the relationship between the price of a given asset and the willingness of traders to either buy or sell it, allowing traders to reveal dominant and/or significant price levels and to analyze the trading activity of a particular user-selected range.
This tool combines a volume/money flow profile, a sentiment profile, and price levels, where the right side of the profile highlights the distribution of the traded activity/money flow at different price levels, the left side of the profile highlights the market sentiment at those price levels, and in the middle the price levels.
🔶 USAGE
A volume/money flow profile is an advanced charting tool that displays the traded volume/money flow at different price levels over a specific period. It helps traders visualize where the majority of trading activity/money flow has occurred.
A sentiment profile is a difference between buy and sell volume/money flow aiming to highlight the sentiment/dominance at specific price levels.
Each row of the profile presents figures on volume and money flow specific to price levels.
High volume/money flow nodes indicate areas of high activity and are likely to act as support or resistance in the future. They attract price and try to hold it there. Conversely, low-volume nodes are areas with low trading activity, that are less subject to get revisited by the price. The market often bounces right over these levels, not staying for long. The "Profile Heatmap" option of the script helps to better emphasize the trading activity within each areas.
By measuring the traded activity at each price level the script presents an ability to highlight the consolidation zones, in other words, highlights accumulation and distribution zones. When the price moves toward one end of the consolidation and volume pick up, it can foreshadow a potential breakout.
Level of Significance, Point of Control, Highest Sentiment Zone, and Profile Price levels are some of the other profile-related options available with the script.
🔶 SETTINGS
The script takes into account user-defined parameters and plots the profiles, where detailed usage for each user-defined input parameter in indicator settings is provided with the related input's tooltip.
🔹 Profile Generic Settings
Lookback Length / Fixed Range: Sets the lookback length.
Profile Source: Sets the profile source, Volume, or Money Flow.
🔹 Profile Presentation Settings
Volume/Money Flow Profile: Toggles the visibility of the Volume/Money Flow Profile.
High Traded Nodes: Threshold and Color option for high traded nodes.
Average Traded Nodes: Color option for average traded nodes.
Low Traded Nodes: Threshold and Color option for low traded nodes.
🔹 Sentiment Profile Settings
Sentiment Profile: Toggles the visibility of the Sentiment Profile.
Sentiment Polarity Method: Sets the method used to calculate the up/down volume/money flow.
Bullish Nodes: Color option for Bullish Nodes.
Bearish Nodes: Color option for Bearish Nodes.
🔹 Profile Heatmap Settings
Profile Heatmap: Toggles the visibility of the profile heatmap.
Heatmap Source: Sets the source of the profile heatmap, Volume/Money Flow Profile, or Sentiment Profile.
Heatmap Transparency: Control the transparency of the profile heatmap.
🔹 Other Presentation Settings
Level of Significance: Toggles the visibility of the level of significance line/zone.
Consolidation Zones: Toggles the visibility of the consolidation zones.
Consolidation Threshold, Color: Sets the threshold value and zone color.
Highest Sentiment Zone: Toggles the visibility of the highest bullish or bearish sentiment zone.
Profile Price Levels, Color, Size: Toggles the visibility of the profile price levels, and sets the color and the size of the level labels.
Profile Range Background Fill: Toggles the visibility of the profiles range.
🔹 Other Settings
Number of Rows: Specify how many rows each profile histogram will have.
Profile Width %: Alters the width of the rows in the histogram, relative to the profile length
Profile Text Size: Alters the size of the text. Setting to Auto will keep the text within the box limits.
Profile Horizontal Offset: Enables to move profile in the horizontal axis.
🔶 RELATED SCRIPTS
Liquidity-Sentiment-Profile
Swing-Volume-Profiles
For more and other conceptual scripts you are kindly invited to visit LuxAlgo-Scripts .
Cryptosmart Trading Tool (by heswaikcrypt)Introducing the Cryptosmart Trading Tool (CSTP) - An optimized into Market Sentiment and direction tool
The Cryptosmart Trading Tool (CSTP) is an advanced indicator developed to provide valuable insights into market sentiment and direction. This tool combines existing TA tools and intelligently develops smart algorithms to empower traders with a deeper understanding of market dynamics. Some classic elements are included in the scripting, such as the exponential moving average (EMA), volume, and Relative Strength Index (RSI), to provide a comprehensive analysis of market conditions. By combining these indicators, the script aims to capture different aspects of market sentiment and enhance the accuracy of the analysis.
The Cryptosmart Trading Tool (CSTP) incorporates a unique algorithm that combines trend following analysis, momentum analysis, and volume analysis to provide insights into market sentiment and price action.
Trend Following Analysis:
The algorithm utilizes two exponential moving averages (EMAs): EMA1 and EMA2.
When EMA1 crosses above EMA2, it indicates an uptrend (isUptrend).
When EMA1 crosses below EMA2, it indicates a downtrend.
You adjust the input value to suit your trading strategy, however, 7, 8, 21, 34, and 200 have been tested to produce a fine tuned output.
The bar color indicates blue for bullish sentiment (is uptrend) and white for bearish sentiment (is downtrend).
Momentum Analysis:
The relative strength index (RSI) is calculated based on the closing prices and the specified RSI length.
RSI values above 70 indicate overbought conditions (isOverbought).
RSI values below 30 indicate oversold conditions (isOversold).
Using the isOversoldExtreme and isOverboughtExtreme, the CSTP algorithm detect extreme over bought and oversold conditions and alert with label color green and red.
Volume Analysis:
The algorithm calculates the average volume over a specified length (averageVolume).
The volume ratio is obtained by dividing the current volume by the average volume.
High volume activity is identified when the volume ratio is greater than 1 (isHighVolume).
Major Flip and Arrow Plots:
Major bullish or bearish flips are identified when EMA1 crosses above EMA2 with RSI values above 50 and high volume activity (isBullishFlip) or when EMA1 crosses below EMA2 with RSI values below 50 and high volume activity (isBearishFlip).
Arrow plots are used to display trend direction, upward arrows for major bullish flips and downward arrows for major bearish flips.
The algorithm calculates the bullBearRatio and RSIValueAtFlip to capture the volume ratio and RSI values at major flips.
The bullishRatio and bearishRatio variables store the volume ratio values for the corresponding trend conditions.
Labels are also displayed on the chart to provide information about EMA values and RSI values. This can be independently disabled by the user
The uniqueness of the CSTP algorithm lies in its combination of trend following analysis, momentum analysis, and volume analysis. By considering these factors, the algorithm provides insights into market sentiment and price action. The use of EMAs, RSIs, and volume ratios allows traders to identify potential trends, overbought/oversold conditions, and high volume activity. The visual representation of bar colors and arrows enhances the ease of understanding the sentiment and major flips. CSTP is uniquely presented by using dots, arrows, candlestick colors, and shape labels to indicate the market scenario. This is explained below.
By leveraging multiple indicators and analysis techniques, CSTP aims to provide traders with a holistic understanding of market dynamics and enhance their decision-making process.
It's important to note that while the individual components used in CSTP are not new or unique on their own, the specific algorithm, parameters, and calculations used within the script are what make it distinctive and valuable. By carefully integrating these components, CSTP generates results that are greater than the sum of its parts, providing traders with a comprehensive analysis of market conditions.
Through extensive research, analysis, and testing, we have created a useful tool, fine-tuned to optimize the accuracy and reliability of the script's output, which can assist traders in making more informed trading decisions.
How to Use:
1. Apply the CSTP Script:
- Apply the CSTP script to your TradingView chart to start analyzing market conditions. (Access instructions can be found in the author's details section.)
- Ensure you have the latest version of TradingView to access all the features and functionalities.
2. Customize Parameters:
- Customize the input variables to match your trading preferences and adapt the tool to different markets.
- Experiment with different settings, such as RSI Length and EMA Lengths, to find the optimal configuration for your trading strategy.
3. Interpret the Color-Coded Bars and Wave Labels:
- Green bars indicate bullish sentiment, suggesting potential buying opportunities.
- Red bars indicate bearish sentiment, indicating potential selling opportunities.
- Blue and white bars represent sentiment backed by smart money liquidity, adding an extra layer of analysis.
- The wave labels provide insights into market structure and potential wave patterns.
4. Combine with Candlestick philosophy strategy and parameters used:
- Wait for candlestick closure before making trading decisions based on CSTP's analysis.
- Consider the EMA (yellow) line as an additional tool to confirm entry or exit points.
- Combining CSTP's analysis with candlestick patterns can enhance your decision-making process and improve trade timing.
- Volume Analysis: Compares the current volume to the Simple Moving Average (SMA) of volume using the RSI Length parameter to determine high-volume periods.
- Color-Coded Bars: The color of the bars represents different market sentiments based on all the parameters used including Relative strength index, bullish and bearish
divergence and volume conditions.
- Open Close Cross (OCC) Alerts: Generates dot alert with color code (red=Bearish, green=Bullish) when there is a crossover or crossunder between the close and open
prices
Important Notes:
- Candlestick color matter a lot as then show the sentiment of the market at a given time. and it is an added advantage for a trader to understand candlestick Psychology.
Candlestick conditions
I will use this BINANCE:MTLUSDT chart to explain how it works
Long green Arrow: Bullish call, with green isBullish arrow
Long red Arrow: Bearish call, with isBearish arrow
Blue with red wick and tape: this indicate a bearish sentiment but with some bullish volume, this position is dice which requires a proper understanding of entry and exit. when if this said candle stick closes below the EMA line, wait for the the next candle after it t determining your move. If the next one closes above it, then the direction is still bullish, else the direction has flipped bearish. (special scenario: in the range or consolidative market phase, you may need to wait 3-7 day candle close before you decide. use the coloration as guide to help with your decision making).
Blue with green wick and tape: this indicated strong bullish sentiment backed by liquidity to push. it is important to not the candle close, if the candle closes above the EMA (7 and/or 21) that validates the move, else, you may need to wait for the next candle close to determine the move and momentum of the market. Example is the $COOMPUST chart
White with green wick and tape: this works just like the "Blue candlestick with red wick and tape". follow same procedure
White with red wick and tape: White candle with red wick, indicates bearish sentiment backed by available market liquidity at the time.
If you see the market moving upward and the candlestick keep closing with white color, it is an indication of inorganic move (Check BITFINEX:SUIUST ) the best thing to do is to wait at resistance. a similar scenario can be seen here
Market test:
below are picture of the indicator tested on different assets
CRYPTOCAP:BNB
AUD
Tesla
it is best to book an entry after an arrow indicate (especially for a bullish market) and the candle closes above the EMA (Yellow line).
Risk management.
- ALWAYS PROTECT YOUR PROFIT WHEN YOU SEE ON. THE MARKET IS DYNAMIC
- Trading involves risks, and no tool can guarantee absolute accuracy in predicting market direction. Conduct thorough research and exercise caution when making trading decisions.
- Apply proper risk management strategies and adjust position sizes according to your risk tolerance.
- Stay updated with market news and events that may impact your trading decisions.
Conclusion:
The Cryptosmart Trading Tool (CSTP) provides traders with a powerful advantage by offering valuable insights into market sentiment and direction. To gain access or trial, refer to the author's details section. This indicator combines various analysis techniques to provide a comprehensive view of the market. Remember to apply your own analysis and expertise in conjunction with CSTP for optimal results.
This indicator combines my 8years of trading experience. Enjoy
Disclaimer:
Trading involves risks, and the CSTP script is designed to assist traders by providing valuable insights. It should be used as a supplement to your own analysis and expertise. Exercise caution and make informed trading decisions based on your own research.
Fractal Basic Chart Patterns [MyTradingCoder]This script is something that I made a long time ago in my early days of learning Pine. It is not in development anymore but has some unique and impressive utility that will help the community. This script will fractally identify chart patterns(iH&S,H&S,W,M) on any chart and timeframe. Most scripts have limitations that make the user have to adjust various parameters to get the desired result to show up on the chart. Lower input values may show smaller patterns, whereas vise versa, higher input values may show larger patterns, but you never seem to get the best of both worlds with these types of scripts. Some users may appreciate the vast majority of input parameters that most scripts provide, but others like myself may find it restrictive and annoying, as you wont get large patterns AND small patterns simultaneously.
All details needed to understand how to use the script are listed below. I will be creating new and well written scripts in the near future moving forward to help the community as best as I can, and just wanted to make it clear that this particular script is just something that I had on the backburner from a very long time ago, before I was a "Pinescript Maven" :) Enjoy!
Available Patterns:
- W Pattern
- M Pattern
- Head and Shoulders Pattern
- Inverse Head and Shoulder Pattern
Customizable inputs:
- Option to specify minimum bars required to consider a pattern.(Can be helpful if you don't want to see lower timeframe patterns, as some may not look like patterns, but if you drop the timeframe and go to the same time, there will be a pattern there on a lower scale)
- Boolean Inputs to Enable/Disable Certain Patterns
Available Alert Options:
- W Pattern Alert
- M Pattern Alert
- H&S Pattern Alert
- iH&S Pattern Alert
User Manual:
- Patterns will be drawn/detected/finalized on the bar close when the neckline is broken
- Green/Red lines represent the historical structure used to identify each pattern
- Blue dashed lines represent the projected price action based on the pattern completing
- Alerts/Indicator will not repaint(Can use 'once per bar' or 'once per bar close' and behavior will be identical. Code is optimized.)
- May have trouble on assets with daily/weekend time gaps with the projected price action dashed line due to time being used as the xloc. If this becomes a problem, leave a comment below and I will consider bringing this back into development and convert to bar_index as xloc to fix the issue.
- Patterns can be all shapes and sizes, hence the beauty of this indicator
- Leave a comment below for any questions or requests and give the indicator a like if you find it useful
Dynamic Equalizer [DW]This is an experimental study inspired by techniques primarily utilized in the visual and audio processing worlds.
This study is designed to serve as a pre or post processing filter designer that allows you to shape the frequency spectrum of your data on a more "in-depth" level.
First the data is fed through my Band-Shelf Equalizer function.
The EQ in this script works by dividing the input signal into 6 bands and 2 shelves using a series of roofing filters.
The bands are then gain adjusted recursively (in %) to match source as closely as possible at unity gain.
The recursive adjustment size can be changed using the "Gain Adjustment Increment" input, which will affect how tightly the resulting filter approximates source at unity.
The frequency range of each band is adjustable via the period inputs. In default settings, these are the ranges:
-> Low Shelf : 256+ Samples Per Cycle. This shelf is the largest trend component of the signal. Unlike the other bands and shelf, this shelf is not zero mean unless source data is.
-> Band 1 : 128 - 256 Samples Per Cycle. This band is a moderate trend and low cyclic component of the signal.
-> Band 2 : 64 - 128 Samples Per Cycle. This band is a mild trend and moderate cyclic component of the signal.
-> Band 3 : 32 - 64 Samples Per Cycle. This band is a high cyclic component of the signal.
-> Band 4 : 16 - 32 Samples Per Cycle. This band is a high cyclic component of the signal.
-> Band 5 : 8 - 16 Samples Per Cycle. This band is a moderate cyclic and mild to moderate noise component of the signal.
-> Band 6 : 4 - 8 Samples Per Cycle. This band is a high noise component of the signal.
-> High Shelf : 4- Samples Per Cycle. This shelf is primarily noise.
Each band and shelf can be manually gain adjusted via their respective inputs.
After EQ processing, each band and shelf is then optionally fed through my Peak Envelope Compressor function for dynamics control.
The compressor in this script works by reducing band power by a specified percentage when it exceeds a user defined percentage of the peak envelope.
The peak envelope measures maximum power of the band over its period range multiplied by a user defined integer.
There is an option included to apply Butterworth smoothing to the envelope as well, which will alter the shape of the compressor.
If you want an envelope that quickly responds to power peaks, use little to no smoothing. If you desire something more static, use a large smoothing period.
Attack and release are included in the algorithm to shape the sensitivity of the compressor.
Attack controls how many bars it takes from being triggered for attenuation to reach its target amount.
Release controls how many bars it takes from being un-triggered for attenuation to reach back to 0.
In addition, the compressor is equipped with parallel processing.
The "Parallel Mix" inputs control the amount of compressed vs non-compressed signal presence in the final output.
And of course, the compressor has a post-processing gain input (in %) to fine-tune the presence of the band.
For easy visual tuning, you can view each independent band's magnitude or power by selecting them in the display inputs.
This display setup can also be beneficial analytically if you wish to analyze specific frequency components of the source signal.
The default preset for this script is meant to show how versatile EQ filtering and compression can be for technical analysis.
The EQ preset detrends the data, moderately smooths the data, and emphasizes dominant cyclical ranges.
The compression preset provides fast, moderately heavy shaping to dial in dynamics and reduce transient effects.
The resulting curve is a great filter for responsively analyzing cyclical momentum.
The script is also fully equipped with outputs that can be used externally by other scripts.
You can integrate these external outputs with your own script by using a source input. Simply select the desired output from the dropdown tab on your script.
Multiband filtering and compression are concepts that are not conventionally used in the world of finance.
However, the versatile capabilities of these concepts make this a wonderful tool to have in the arsenal.
By surgically adjusting separate frequency components of a signal, you're able to design a wide variety of filters with unique responses for a vast array of applications.
Play around with the settings and see what kinds of filters you can design!
---------------------------------------------------------
This is a premium script, and access is granted on an invite-only basis.
To gain access, get a copy of the script overview, or for additional inquiries, send me a direct message.
I look forward to hearing from you!
---------------------------------------------------------
General Disclaimer:
Trading stocks, futures, Forex, options, ETFs, cryptocurrencies or any other financial instrument has large potential rewards, but also large potential risk.
You must be aware of the risks and be willing to accept them in order to invest in stocks, futures, Forex, options, ETFs or cryptocurrencies.
Don’t trade with money you can’t afford to lose.
This is neither a solicitation nor an offer to Buy/Sell stocks, futures, Forex, options, ETFs, cryptocurrencies or any other financial instrument.
No representation is being made that any account will or is likely to achieve profits or losses of any kind.
The past performance of any trading system or methodology is not necessarily indicative of future results.
---------------------------------------------------------
NOTE: Unlike standard tools of this nature in other applications, I scaled the signals in % rather than dB, mainly since it's proven so far to be more user-friendly to keep things linear on here.
In addition, no transitions to frequency domain are done in this script. This EQ is an experimental variant that processes in the time domain and relies on a network of roofing filters.
When changing cutoff periods, make sure they are organized in descending order with low shelf as the highest period, and high shelf as the lowest period.
Using non-descending lengths may result in an undesired output.
Lastly, when changing cutoff periods, parts of the spectrum may leak slightly differently between bands, so the "Gain Match Adjustment Increment" may need to be changed as well if you want it to match as closely as possible at unity.
Despite these shortcomings, this tool functions surprisingly well, especially with the default periods, and it's quickly become one of my favorites. I hope you all enjoy it!
[ALL-IN-ONE] Algorithmic S/R and Pivots and Long Term LevelsHello my trading padawans.
Hope you're all having a blast
Here's the invite-only script of the week. The ALL-IN-ONE saga continues with another script.
This time, I compiled a lot of algorithmic supports and resistances (S/R) - to be used with any indicators out there.
Those S/R are universal and work with all asset classes (FOREX, CRYPTO, INDICES, STOCKS, COMMODITIES, ...)
No one can predicts which S/R will stop a move - generally - the high timeframes S/R + the SMAs with a big input value - work as strong walls often forcing the candles to retrace a bit short-term.
At Today's post (October, 25th 2019 - 12 pm UTC-4), we see how useful they were, to identify how high BTC/USD could go before retracing.
I. 💎 SCRIPTS ACCESS 💎
1.🖐️ Access can only be requested through my website.
2.🖐️ My website URL is in this script signature at the very bottom (you'll have to scroll down a bit and going past the long description) and in my profile status available here : Daveatt
3.🖐️ A tutorial article/video will be provided on those sub mentioned links + Tradingview
4.🖐️ You obviously can contact me directly for more information
II. 🔎 ALL-IN-ONE Supports and Resistances 🔎
You can display the algorithmic S/R, and/or pivots, (not finished yet) and the long terms levels.
For the 3 types of S/R, I pre-selected those that I think are the most relevant and useful for everyone. Please let me know if you'd like me to add/remove some.
All those listed by default are important and provide a MAP for a trader.
They give great take profits zones, levels where it's better to wait for a pullback before entering.
2.1 👁️🗨️ S/R mode 👁️🗨️
Each type of S/R can be displayed or not.
2.2 📱 Mobile optimized display 📱
Preview : imgur.com I posted 2 images there
The script is made using the newest version of Pinescript, and displaying small labels for every support/resistance.
✨ This will come in handy for mobile users - they'll get nice looking labels displayed at the right of their chart.
Each S/R type have its own labels and label position. The script users can activate/deactivate them at will
Let's review quickly each one.
2.3 Algorithmic SMAs
I cherish, love, sometimes despite them, but they're very relevant for all asset classes. The tool displays as many relevant algorithmic and generic SMAs that I could think of.
The indicator lists about 18 different SMAs in multiple timeframes.
2.4 Pivots
7 pivots are displayed (S1/S2/S3/P/R1/R2/R3)
You can choose one of 4 pivot point types:
- Traditional
- Woodie
- Fibonacci
- Camarilla.
The fun doesn't stop here. You can also select a timeframe between Daily/Weekly/Monthly/Yearly for those pivots.
For INDICES, for example, I use a lot the daily Traditional Pivots.
2.5 Long Terms Levels
Display by default the highest/lowest weekly/monthly/quarterly/monthly levels.
The scripts user can chose to select the previous highest/lowest also.
-------------------------------------------------------------------------------------------------------------------------------------
If you have any doubts or questions, please hit me up directly or ask in the comments section of this script.
I'll never claim I have the best trading methodology or indicators.
You only will judge and I'll appreciate all the questions and feedback you're sending my way.
They helped me a ton for developing indicators based on all the requests I received.
May the force 💪 be with you all 🥳.
Dave
Precision Entry Signals (RSI + MA12 Logic)Description:
This script provides precise entry signals based on a clean confluence of MA12 breakouts and RSI momentum, filtered by a VWMA (Volume-Weighted Moving Average) of the RSI.
-----------------------------------------------------------------------------------------------------------------
🔹 Long entry conditions:
- Candle opens below the 12-period MA and closes above it
- RSI crosses above its VWMA
- Previous candle is bearish (additional confirmation)
🔹 Short entry conditions:
- Candle opens above the 12-period MA and closes below it
- RSI crosses below its VWMA
- Previous candle is bullish
----------------------------------------------------------------------------------------------------------------
Once a signal is confirmed, the script automatically draws:
Entry line (at close price)
Stop Loss line (just below recent lows for long, or above highs for short)
Take Profit 1 (1R)
Take Profit 2 (2R)
Labels are attached to the lines for clarity: ENTRY, SL, TP1, and TP2.
⚠️ Note: This tool only provides entry signals and visual risk/reward guidance. It does not manage exits dynamically. Manual trade management is recommended.
This script is intended for active intraday traders, especially on lower timeframes like 3-minute, 5-minute or 15-minute charts.
---------------------------------------------------------------------------------------------------------------
🔧 Recommended companion indicator:
For better confirmation and visual tracking of the RSI/VWMA cross logic, it is strongly recommended to also use the companion script:
🔹 Relative Strength Index (with MA based cross signals)
→ Shows RSI and its moving average visually, with triangle plots on every valid cross.
→ Matches exactly the RSI/VWMA behavior used in this entry signal script.
📌 Important:
After adding the RSI script to your chart, make sure to set:
RSI Length = 14
MA Type = VWMA
MA Length = 20
This ensures it visually matches the logic used by the entry signal script.
Both indicators are fully open source and meant to be used together — especially when trading manually.
G-Bot v3Overview:
G-Bot is an invite-only Pine Script tailored for traders seeking a precise, automated breakout strategy. This closed-source script integrates with 3Commas via API to execute trades seamlessly, combining classic indicators with proprietary logic to identify high-probability breakouts. G-Bot stands out by filtering market noise through a unique confluence of signals, offering adaptive risk management, and employing advanced alert deduplication to ensure reliable automation. Its purpose-built design delivers actionable signals for traders prioritizing consistency and efficiency in trending markets.
What It Does and How It Works:
G-Bot generates trade signals by evaluating four key market dimensions—trend, price action, momentum, and volume—on each 60-minute bar. The script’s core components and their roles are:
Trend Detection (EMAs): Confirms trend direction by checking if the 5-period EMA is above (bullish) or below (bearish) the 6-period EMA, with the price positioned accordingly (above the 5-period EMA for longs, below for shorts). The tight EMA pairing is optimized for the 60-minute timeframe to capture sustained trends while minimizing lag.
Price Action Trigger (Swing Highs/Lows): Identifies breakouts when the price crosses above the previous swing high (for longs) or below the previous swing low (for shorts), using a period lookback to focus on recent price pivots. This ensures entries align with significant market moves.
Momentum Filter (RSI): Validates breakouts by requiring RSI to fall within moderated ranges. These ranges avoid overbought/oversold extremes, prioritizing entries with balanced momentum to enhance trade reliability.
Volume Confirmation (3-period SMA): Requires volume to exceed its 3-period SMA, confirming that breakouts are driven by strong market participation, reducing the risk of false moves.
Risk Management (14-period ATR): Calculates stop-loss distances (ATR) and trailing stops (ATR and ATR-point offset) to align trades with current volatility, protecting capital and locking in profits.
These components work together to create a disciplined system: the EMAs establish trend context, swing breaks confirm price momentum, RSI filters for optimal entry timing, and volume ensures market conviction. This confluence minimizes false signals, a critical advantage for hourly breakout trading.
Why It’s Original and Valuable:
G-Bot’s value lies in its meticulous integration of standard indicators into a non-standard, automation-focused system. Its unique features include:
Curated Signal Confluence: Unlike generic breakout scripts that rely on single-indicator triggers (e.g., EMA crossovers), G-Bot requires simultaneous alignment of trend, price action, momentum, and volume. This multi-layered approach, reduces noise and prioritizes high-conviction setups, addressing a common flaw in simpler strategies.
Proprietary Alert Deduplication: G-Bot employs a custom mechanism to prevent redundant alerts, using a 1-second minimum gap and bar-index tracking. This ensures signals are actionable and compatible with 3Commas’ high-frequency automation, a feature not found in typical Pine Scripts.
Adaptive Position Sizing: The script calculates trade sizes based on user inputs (1-5% equity risk, max USD cap, equity threshold) and ATR-derived stop distances, ensuring positions reflect both account size and market conditions. This dynamic approach enhances risk control beyond static sizing methods.
3Commas API Optimization: G-Bot generates JSON-formatted alerts with precise position sizing and exit instructions, enabling seamless integration with 3Commas bots. This level of automation, paired with detailed Telegram alerts for monitoring, streamlines the trading process.
Visual Clarity: On-chart visuals—green triangles for long entries, red triangles for shorts, orange/teal lines for swing levels, yellow circles for price crosses—provide immediate insight into signal triggers, allowing traders to validate setups without accessing the code.
G-Bot is not a repackaging of public code but a specialized tool that transforms familiar indicators into a robust, automated breakout system. Its originality lies in the synergy of its components, proprietary alert handling, and trader-centric automation, justifying its invite-only status.
How to Use:
Setup: Apply G-Bot to BITGET’s BTCUSDT.P chart on a 60-minute timeframe.
3Commas Configuration: Enter your 3Commas API Secret Key and Bot UUID in the script’s input settings to enable webhook integration.
Risk Parameters: Adjust Risk % (1-5%), Max Risk ($), and Equity Threshold ($) to align position sizing with your account and risk tolerance.
Webhook Setup: Configure 3Commas to receive JSON alerts for automated trade execution. Optionally, connect Telegram for detailed signal notifications.
Monitoring: Use on-chart visuals to track signals:
Green triangles (below bars) mark long entries; red triangles (above bars) mark shorts.
Orange lines show swing highs; teal lines show swing lows.
Yellow circles indicate price crosses; purple crosses highlight volume confirmation.
Testing: Backtest G-Bot in a demo environment to validate performance and ensure compatibility with your trading strategy.
Setup Notes : G-Bot is a single, self-contained script for BTCUSDT.P on 60-minute charts, with all features accessible via user inputs. No additional scripts or passwords are required, ensuring compliance with TradingView’s single-publication rule.
Disclaimer: Trading involves significant risks, and past performance is not indicative of future results. Thoroughly test G-Bot in a demo environment before deploying it in live markets.
Full setup support will be provided
Bitcoin Macro Trend Map [Ox_kali]
## Introduction
__________________________________________________________________________________
The “Bitcoin Macro Trend Map” script is designed to provide a comprehensive analysis of Bitcoin’s macroeconomic trends. By leveraging a unique combination of Bitcoin-specific macroeconomic indicators, this script helps traders identify potential market peaks and troughs with greater accuracy. It synthesizes data from multiple sources to offer a probabilistic view of market excesses, whether overbought or oversold conditions.
This script offers significant value for the following reasons:
1. Holistic Market Analysis : It integrates a diverse set of indicators that cover various aspects of the Bitcoin market, from investor sentiment and market liquidity to mining profitability and network health. This multi-faceted approach provides a more complete picture of the market than relying on a single indicator.
2. Customization and Flexibility : Users can customize the script to suit their specific trading strategies and preferences. The script offers configurable parameters for each indicator, allowing traders to adjust settings based on their analysis needs.
3. Visual Clarity : The script plots all indicators on a single chart with clear visual cues. This includes color-coded indicators and background changes based on market conditions, making it easy for traders to quickly interpret complex data.
4. Proven Indicators : The script utilizes well-established indicators like the EMA, NUPL, PUELL Multiple, and Hash Ribbons, which are widely recognized in the trading community for their effectiveness in predicting market movements.
5. A New Comprehensive Indicator : By integrating background color changes based on the aggregate signals of various indicators, this script essentially creates a new, comprehensive indicator tailored specifically for Bitcoin. This visual representation provides an immediate overview of market conditions, enhancing the ability to spot potential market reversals.
Optimal for use on timeframes ranging from 1 day to 1 week , the “Bitcoin Macro Trend Map” provides traders with actionable insights, enhancing their ability to make informed decisions in the highly volatile Bitcoin market. By combining these indicators, the script delivers a robust tool for identifying market extremes and potential reversal points.
## Key Indicators
__________________________________________________________________________________
Macroeconomic Data: The script combines several relevant macroeconomic indicators for Bitcoin, such as the 10-month EMA, M2 money supply, CVDD, Pi Cycle, NUPL, PUELL, MRVR Z-Scores, and Hash Ribbons (Full description bellow).
Open Source Sources: Most of the scripts used are sourced from open-source projects that I have modified to meet the specific needs of this script.
Recommended Timeframes: For optimal performance, it is recommended to use this script on timeframes ranging from 1 day to 1 week.
Objective: The primary goal is to provide a probabilistic solution to identify market excesses, whether overbought or oversold points.
## Originality and Purpose
__________________________________________________________________________________
This script stands out by integrating multiple macroeconomic indicators into a single comprehensive tool. Each indicator is carefully selected and customized to provide insights into different aspects of the Bitcoin market. By combining these indicators, the script offers a holistic view of market conditions, helping traders identify potential tops and bottoms with greater accuracy. This is the first version of the script, and additional macroeconomic indicators will be added in the future based on user feedback and other inputs.
## How It Works
__________________________________________________________________________________
The script works by plotting each macroeconomic indicator on a single chart, allowing users to visualize and interpret the data easily. Here’s a detailed look at how each indicator contributes to the analysis:
EMA 10 Monthly: Uses an exponential moving average over 10 monthly periods to signal bullish and bearish trends. This indicator helps identify long-term trends in the Bitcoin market by smoothing out price fluctuations to reveal the underlying trend direction.Moving Averages w/ 18 day/week/month.
Credit to @ryanman0
M2 Money Supply: Analyzes the evolution of global money supply, indicating market liquidity conditions. This indicator tracks the changes in the total amount of money available in the economy, which can impact Bitcoin’s value as a hedge against inflation or economic instability.
Credit to @dylanleclair
CVDD (Cumulative Value Days Destroyed): An indicator based on the cumulative value of days destroyed, useful for identifying market turning points. This metric helps assess the Bitcoin market’s health by evaluating the age and value of coins that are moved, indicating potential shifts in market sentiment.
Credit to @Da_Prof
Pi Cycle: Uses simple and exponential moving averages to detect potential sell points. This indicator aims to identify cyclical peaks in Bitcoin’s price, providing signals for potential market tops.
Credit to @NoCreditsLeft
NUPL (Net Unrealized Profit/Loss): Measures investors’ unrealized profit or loss to signal extreme market levels. This indicator shows the net profit or loss of Bitcoin holders as a percentage of the market cap, helping to identify periods of significant market optimism or pessimism.
Credit to @Da_Prof
PUELL Multiple: Assesses mining profitability relative to historical averages to indicate buying or selling opportunities. This indicator compares the daily issuance value of Bitcoin to its yearly average, providing insights into when the market is overbought or oversold based on miner behavior.
Credit to @Da_Prof
MRVR Z-Scores: Compares market value to realized value to identify overbought or oversold conditions. This metric helps gauge the overall market sentiment by comparing Bitcoin’s market value to its realized value, identifying potential reversal points.
Credit to @Pinnacle_Investor
Hash Ribbons: Uses hash rate variations to signal buying opportunities based on miner capitulation and recovery. This indicator tracks the health of the Bitcoin network by analyzing hash rate trends, helping to identify periods of miner capitulation and subsequent recoveries as potential buying opportunities.
Credit to @ROBO_Trading
## Indicator Visualization and Interpretation
__________________________________________________________________________________
For each horizontal line representing an indicator, a legend is displayed on the right side of the chart. If the conditions are positive for an indicator, it will turn green, indicating the end of a bearish trend. Conversely, if the conditions are negative, the indicator will turn red, signaling the end of a bullish trend.
The background color of the chart changes based on the average of green or red indicators. This parameter is configurable, allowing adjustment of the threshold at which the background color changes, providing a clear visual indication of overall market conditions.
## Script Parameters
__________________________________________________________________________________
The script includes several configurable parameters to customize the display and behavior of the indicators:
Color Style:
Normal: Default colors.
Modern: Modern color style.
Monochrome: Monochrome style.
User: User-customized colors.
Custom color settings for up trends (Up Trend Color), down trends (Down Trend Color), and NaN (NaN Color)
Background Color Thresholds:
Thresholds: Settings to define the thresholds for background color change.
Low/High Red Threshold: Low and high thresholds for bearish trends.
Low/High Green Threshold: Low and high thresholds for bullish trends.
Indicator Display:
Options to show or hide specific indicators such as EMA 10 Monthly, CVDD, Pi Cycle, M2 Money, NUPL, PUELL, MRVR Z-Scores, and Hash Ribbons.
Specific Indicator Settings:
EMA 10 Monthly: Options to customize the period for the exponential moving average calculation.
M2 Money: Aggregation of global money supply data.
CVDD: Adjustments for value normalization.
Pi Cycle: Settings for simple and exponential moving averages.
NUPL: Thresholds for unrealized profit/loss values.
PUELL: Adjustments for mining profitability multiples.
MRVR Z-Scores: Settings for overbought/oversold values.
Hash Ribbons: Options for hash rate moving averages and capitulation/recovery signals.
## Conclusion
__________________________________________________________________________________
The “Bitcoin Macro Trend Map” by Ox_kali is a tool designed to analyze the Bitcoin market. By combining several macroeconomic indicators, this script helps identify market peaks and troughs. It is recommended to use it on timeframes from 1 day to 1 week for optimal trend analysis. The scripts used are sourced from open-source projects, modified to suit the specific needs of this analysis.
## Notes
__________________________________________________________________________________
This is the first version of the script and it is still in development. More indicators will likely be added in the future. Feedback and comments are welcome to improve this tool.
## Disclaimer:
__________________________________________________________________________________
Please note that the Open Interest liquidation map is not a guarantee of future market performance and should be used in conjunction with proper risk management. Always ensure that you have a thorough understanding of the indicator’s methodology and its limitations before making any investment decisions. Additionally, past performance is not indicative of future results.
Volume Profile with Node Detection [LuxAlgo]The Volume Profile with Node Detection is a charting tool that allows visualizing the distribution of traded volume across specific price levels and highlights significant volume nodes or clusters of volume nodes that traders may find relevant in utilizing in their trading strategies.
🔶 USAGE
The volume profile component of the script serves as the foundation for node detection while encompassing all the essential features expected from a volume profile. See the sub-sections below for more detailed information about the indicator components and their usage.
🔹 Peak Volume Node Detection
A volume peak node is identified when the volume profile nodes for the N preceding and N succeeding nodes are lower than that of the evaluated one.
Displaying peak volume nodes along with their surrounding N nodes (Zones or Clusters) helps visualize the range, typically representing consolidation zones in the market. This feature enables traders to identify areas where trading activity has intensified, potentially signaling periods of price consolidation or indecision among market participants.
🔹 Trough Volume Node Detection
A volume trough node is identified when the volume profile nodes for the N preceding and N succeeding nodes are higher than that of the evaluated one.
🔹 Highest and Lowest Volume Nodes
Both the highest and lowest volume areas play significant roles in trading. The highest volume areas typically represent zones of strong price acceptance, where a significant amount of trading activity has occurred. On the other hand, the lowest volume areas signify price levels with minimal trading activity, often indicating zones of price rejection or areas where market participants have shown less interest.
🔹 Volume profile
Volume profile is calculated based on the volume of trades that occur at various price levels within a specified timeframe. It divides the price range into discrete price intervals, typically known as "price buckets" or "price bars," and then calculates the total volume of trades that occur at each price level within those intervals. This information is then presented graphically as a histogram or profile, where the height of each bar represents the volume of trades that occurred at that particular price level.
🔶 SETTINGS
🔹 Volume Nodes
Volume Peaks: Toggles the visibility of either the "Peaks" or "Clusters" on the chart, depending on the specified percentage for detection.
Node Detection Percent %: Specifies the percentage for the Volume Peaks calculation.
Volume Troughs: Toggles the visibility of either the "Troughs" or "Clusters" on the chart, depending on the specified percentage for detection.
Node Detection Percent %: Specifies the percentage for the Volume Troughs calculation.
Volume Node Threshold %: A threshold value specified as a percentage is utilized to detect peak/trough volume nodes. If a value is set, the detection will disregard volume node values lower than the specified threshold.
Highest Volume Nodes: Toggles the visibility of the highest nodes for the specified count.
Lowest Volume Nodes: Toggles the visibility of the lowest nodes for the specified count.
🔹 Volume Profile - Components
Volume Profile: Toggles the visibility of the volume profile with either classical display or gradient display.
Value Area Up / Down: Color customization option for the volume nodes within the value area of the profile.
Profile Up / Down Volume: Color customization option for the volume nodes outside of the value area of the profile.
Point of Control: Toggles the visibility of the point of control, allowing selection between "developing" or "regular" modes. Sets the color and width of the point of control line accordingly.
Value Area High (VAH): Toggles the visibility of the value area high level and allows customization of the line color.
Value Area Low (VAL): Toggles the visibility of the value area low level and allows customization of the line color.
Profile Price Labels: Toggles the visibility of the Profile Price Levels and allows customization of the text size of the levels.
🔹 Volume Profile - Display Settings
Profile Lookback Length: Specifies the length of the profile lookback period.
Value Area (%): Specifies the percentage for calculating the value area.
Profile Placement: Specify where to display the profile.
Profile Number of Rows: Specify the number of rows the profile will have.
Profile Width %: Adjusts the width of the rows in the profile relative to the profile range.
Profile Horizontal Offset: Adjusts the horizontal offset of the profile when it is selected to be displayed on the right side of the chart.
Value Area Background: Toggles the visibility of the value area background and allows customization of the fill color.
Profile Background: Toggles the visibility of the profile background and allows customization of the fill color.
🔶 RELATED SCRIPTS
Supply-Demand-Profiles
Liquidity-Sentiment-Profile
Thanks to our community for recommending this script. For more conceptual scripts and related content, we welcome you to explore by visiting >>> LuxAlgo-Scripts .
High Volume AlertThe High Volume Alert Script is developed for all traders focusing on volume analysis in their trading strategies, providing alerts for unusually high trading volumes during specified trading sessions.
Functionality:
Volume Moving Average Calculation:
Average Volume = Moving Average(Volume) = Sum of last the x last candles Volume
Where n is the user-defined period for the moving average calculation (denoted as movingaverageinput in the script. This moving average serves as the baseline to compare current volume levels against historical averages.
High Volume Detection:
HighVolume = CurrentVolume >= (MA(Volume) x HighVolumeRatio)
Here, HighVolumeRatio is a user-defined multiplier that sets the threshold for what is considered high volume. If the current volume exceeds this threshold (the product of the moving average of volume and the HighVolumeRatio ), the script identifies this as a high-volume event.
Session Filtering:
The script further refines these alerts by ensuring they only trigger during the specified trading session, enhancing relevance for traders interested in specific market hours. This session is defined by the sess and timezone parameters.
Visualisation and Alerts:
If high volume is detected (HighVolume = True), the script colors the volume bar with the highVolumeColor . If the option is selected, it also changes the color of the candlestick to either highVolumeCandleColorUp (for bullish candles) or highVolumeCandleColorDown (for bearish candles), depending on the price movement within the high-volume period. An alert is generated through the alertcondition function when high volume is detected during the specified session, notifying the trader of potentially significant market activity.
Application in Trading:
This indicator serves traders who prioritize volume as a leading indicator of potential price movement. High trading volumes may indicate the presence of significant market activity, often associated with events like news releases, market openings, or large trades, which can precede price movements.
Originality and Practicality:
This script is self-developed, aiming to fill the gap in automatic ratio adjusted volume alerts within the TradingView environment.
Conclusion:
The High Volume Alert Script is an essential tool for traders who integrate volume analysis into their strategy, offering tailored alerts and visual cues for high volume periods.
Compliance and Limitations:
The script complies with TradingView scripting standards, ensuring no lookahead bias and maintaining real-time data integrity. However, its utility depends on the availability on volume data, and please be aware that forex pairs never offer real volume data, this tool is best used with a exchange traded symbol.
RAINBOW AVERAGES - INDICATOR - (AS) - 1/3
-INTRODUCTION:
This is the first of three scripts I intend to publish using rainbow indicators. This script serves as a groundwork for the other two. It is a RAINBOW MOVING AVERAGES indicator primarily designed for trend detection. The upcoming script will also be an indicator but with overlay=false (below the chart, not on it) and will utilize RAINBOW BANDS and RAINBOW OSCILLATOR. The third script will be a strategy combining all of them.
RAINBOW moving averages can be used in various ways, but this script is mainly intended for trend analysis. It is meant to be used with overlay=true, but if the user wishes, it can be viewed below the chart. To achieve this, you need to change the code from overlay=true to false and turn off the first switch that plots the rainbow on the chart (or simply move the indicator to a new pane below). By doing this, you will be able to see how all four conditions used to detect trends work on the chart. But let's not get ahead of ourselves.
-WHAT IS IT:
In its simplest form, this indicator uses 10 moving averages colored like a rainbow. The calculation is as follows:
MA0: This is the main moving average and can be defined with the type (SMA, EMA, RMA, WMA, SINE), length, and price source. However, the second moving average (MA1) is calculated using MA0 as its source, MA2 uses MA1 as the data source, and so on, until the last one, MA9. Hence, there are 10 moving averages. The first moving average is special as all the others derive from it. This indicator has many potential uses, such as entry/exit signals, volatility indication, and stop-loss placement, but for now, we will focus on trend detection.
-TREND DETECTION:
The indicator offers four different background color options based on the user's preference:
0-NONE: No background color is applied as no trend detection tools is being used (boring)
1-CHANGE: The background color is determined by summing the changes of all 10 moving averages (from two bars). If the sum is positive and not falling, the background color is GREEN. If the sum is negative and not rising, the background color is RED. From early testing, it works well for the beginning of a movement but not so much for a lasting trend.
2-RAINBW: The background color is green when all the moving averages are in ascending order, indicating a bullish trend. It is red when all the moving averages are in descending order, indicating a bearish trend. For example, if MA1>MA2>MA3>MA4..., the background color is green. If MA1 threshold, and red indicates width < -threshold.
4-DIRECT: The background color is determined by counting the number of moving averages that are either above or below the input source. If the specified number of moving averages is above the source, the background color is green. If the specified number of moving averages is below the source, the background color is red. If all ten MAs are below the price source, the indicator will show 10, and if all ten MAs are above, it will show -10. The specific value will be set later in the settings (same for 3-TSHOLD variant). This method works well for lasting trends.
Note: If the indicator is turned into a below-chart version, all four color options can be seen as separate indicators.
-PARAMETERS - SETTINGS:
The first line is an on/off switch to plot the skittles indicator (and some info in the tooltip). The second line has already been discussed, which is the background color and the selection of the source (only used for MA0!).
The line "MA1: TYP/LEN" is where we define the parameters of MA0 (important). We choose from the types of moving averages (SMA, EMA, RMA, WMA, SINE) and set the length.
Important Note: It says MA1, but it should be MA0!.
The next line defines whether we want to smooth MA1 (which is actually MA0) and the period for smoothing. When smoothing is turned on, MA0 will be smoothed using a 3-pole super smoother. It's worth noting that although this only applies to MA0, as the other MAs are derived from it, they will also be smoothed.
In the line below, we define the type and length of MAs for MA2 (and other MAs except MA0). The same type and length are used for MA1 to MA9. It's important to remember that these values should be smaller. For example, if we set 55, it means that MA1 is the average of 55 periods of MA0, MA2 will be 55 periods of MA1, and so on. I encourage trying different combinations of MA types as it can be easily adjusted for ur type of trading. RMA looks quirky.
Moving on to the last line, we define some inputs for the background color:
TSH: The threshold value when using 3-TSHOLD-BGC. It's a good idea to change the chart to a pane below for easier adjustment. The default values are based on EURUSD-5M.
BG_DIR: The value that must be crossed or equal to the MA score if using 4-DIRECT-BGC. There are 10 MAs, so the maximum value is also 10. For example, if you set it to 9, it means that at least 9 MAs must be below/above the price for the script to detect a trend. Higher values are recommended as most of the time, this indicator oscillates either around the maximum or minimum value.
-SUMMARY OF SETTINGS:
L1 - PLOT MAs and general info tooltip
L2 - Select the source for MA0 and type of trend detection.
L3 - Set the type and length of MA0 (important).
L4 - Turn smoothing on/off for MA0 and set the period for super smoothing.
L5 - Set the type and length for the rest of the MAs.
L6 - Set values if using 4-DIRECT or 3-TSHOLD for the trend detection.
-OTHERS:
To see trend indicators, you need to turn off the plotting of MAs (first line), and then choose the variant you want for the background color. This will plot it on the chart below.
Keep in mind that M1 int settings stands for MA0 and MA2 for all of the 9 MAs left.
Yes, it may seem more complicated than it actually is. In a nutshell, these are 10 MAs, and each one after MA0 uses the previous one as its source. Plus few conditions for range detection. rest is mainly plots and colors.
There are tooltips to help you with the parameters.
I hope this will be useful to someone. If you have any ideas, feedback, or spot errors in the code, LET ME KNOW.
Stay tuned for the remaining two scripts using skittles indicators and check out my other scripts.
-ALSO:
I'm always looking for ideas for interesting indicators and strategies that I could code, so if you don't know Pinescript, just message me, and I would be glad to write your own indicator/strategy for free, obviously.
-----May the force of the market be with you, and until we meet again,
Quickfingers Luc base scanner - version 2This is my second implementation of a Pine Script Quickfingers Luc (QFL) base scanner that I have published on Trading View. QFL base scanners seek to provide buy signals according to the QFL trading strategy. To profitably trade using this script you should be familiar with the QFL trading strategy, scaling in and out of positions, and money risk management.
Background
All the QFL base identification Pine Scripts that I have inspected to date use a simple candlestick pattern of two lower lows followed by two higher lows to identify a base. Some scripts may combine this with a volume indicator as well. In practice, I found the results of this approach to be somewhat unreliable. The candlestick pattern may identify some significant bases, may identify minor bases (that should not be traded), but at the same time miss other significant bases entirely!
My first QFL base scanner sought to use Pine Script’s built in ta.lowest and ta.highest functions to identify bases and peaks. This approach depended on the time period selected to find the lowest lows and highest highs. This approach can be problematic because significant bases may be formed outside the nominated time period, leading to the identification of minor bases within the time period. I have left the first version of my QFL base scanning script in the Trading View indicators because it uses a different approach to this script that other people may still find useful.
My second version of the QFL base scanner does not use the Pine Script ta.lowest and ta.highest functions, and therefore does not rely on nominating a time period to look back through data.
User inputs
This script steps through the price data to find the following patterns that are used to confirm bases and peaks.
Base – bounce of x% above previous base confirms that base
Peak – fall of y% below previous peak confirms that peak
Buy signal – fall of z% below the base signals a buy signal.
x%, y% and z% are user configurable through the script settings. Small percentages will provide more, but riskier, buy signals; larger percentages will provide fewer, but safer, buy signals.
The script identifies QFL bases and buy signals and marks them on the price chart. These are able to be turned on and off in the script settings. The settings also allow the user to turn on plots for peaks, lowest lows and highest highs. These are not useful for applying the QFL trading strategy, but are calculations used in finding bases and can be useful for the user to understand what the script is doing in the background.
Troubleshooting
If looking at the past script results, you may think that the script is perfectly timing entry points at the bottom of market dips. This is NOT the case. The script is actually showing buy signals when the price falls z% below the PREVIOUS base. The current base is only retrospectively marked some periods later once the reversal is confirmed – a solid line marks a confirmed base in real time; a dotted line retrospectively repaints the line to the actual base. New bases are not tradeable using this script, but a percentage fall from the previous base is – this is the QFL trading strategy.
Pine Script may flag that this script has a repainting issue. Pine Script defines repainting as, “script behavior causing historical vs realtime calculations or plots to behave differently.” In the case of this script, bases are confirmed once the price has bounced x% off the low. The script then repaints a dotted line from the base that has been identified in real time (with a solid line) back to the point in the price data where the base actually occurs. The dotted line only aids in visual identification of the base, and does not impact on the real time identification of bases. A similar repainting issue occurs for identifying peaks. I have identified the lines in the script that cause this repainting. These lines can be commented out without affecting the buy signals generated by the script, but you will also lose the visual pinpointing of historical bases and peaks.
The user may find price charts where they think that the script has not correctly identified a base or peak. Usually, careful measurement will reveal that the price chart has not confirmed a base or peak by moving x% or y% from the previous base or peak respectively.
And before you ask, yes, Trading View alerts work with this script.
Enjoy.
MTFT VWAPs Auto AnchoredMulti Time Frame Tools
Multi Time Frame Tools (MTFT) is a suite of scripts aimed to establish a standard timeframe-based color scheme. This can be utilized to overlay different timeframes calculations/values over a single timeframe. As one example, this would allow to observe the 5-month moving average, 5-week moving average, and 5-day moving average overlaid over each other. This would allow to study a chart, get accustomed to the color scheme and study all these at the same time much easier.
All indicators calculated using the below specific timeframes as input, will always use the color scheme outlined below. This is to get you in habit of recognizing the different timeframes overlaid in top of each other. These can be personalized.
Longer TF analysis.
Yearly - Black
Semi-Annual - Yellow
Quarterly - White
Monthly - Maroon
Weekly - Royal Blue
Daily - Lime
Shorter TF analysis.
4 hour - Fuchsia
1 hour - Orange
30 min - Red
15 min - Brown
10 min - Purple
5 min - Lilac
All color coordination is able to be modified in either the “Inputs” or “Style” section. If you need to make changes, make sure to select “Save as Default” on the bottom right of the settings menu.
Recommended Chart Color Layout
I played around with color coordination a lot. The final product was what worked best for me. I personally use the following chart settings to accent all available TF colors.
-> Click on the settings wheel on your chart. -> Click on “Appearance”.
Background - Solid -> On the top row pick the 6th color from the left.
Vert Grid Lines and Horz Grid Lines -> On the top row pick the 7th color from the left.
You may of course change these and the indicator line colors as you like.
Adding indicator to Chart
-> Open the TradingView “Indicators & Strategies” library, the icon has “ƒx”. -> All premium scripts will be located under “Invite-Only Scripts” -> Click indicator to add to your chart.
MTFT VWAPs Auto Anchored
The Anchored Volume-Weighted Average Price, Anchored VWAP, is a commonly discussed FinTwit tool. I personally found it through Brian Shannon on Twitter. I have seen big FinTwit accounts solely focus on this strategy alone and have seen other big FinTwit accounts mix with their other indicators. I will be providing very basic info to utilize this script; it is up to you to dive deep into learning this strategy. I am not an expert with the tool or a financial advisor. As with all aspects of life, I recommend you research, learn, discern and practice extensively in order to become a master.
The script has the following features.
1. Three user selected time frames auto anchored VWAPS. It will auto anchor to the start of the timeframe. Timeframes(TF) include: Yearly(Y), Semi-annually(S), Quarterly(Q), Monthly(M), Weekly(W), Daily(D), and 4 hour. Image below shows the D candlestick as the active timeframe, the anchored VWAPs for the Year, Quarter, and Month.
2. Auto hide lower timeframe calculations. Auto Hide feature will hide smaller TF calculations when a larger timeframe is selected as the display TF. Example, when the Daily timeframe candlestick selected the Weekly and Daily Anchored VWAPs are hidden because they produce very noisy results. If a lower TF is selected such as the 30 min candlestick, the previously hidden Daily and Weekly Open Anchored VWAPs are now displayed. Notice that this specific indicator calculates different with every different timeframe that is selected. The lower TF calculations are more accurate as they include additional information. Image below shows the 30 min timeframe selected with the Daily, Weekly, and Monthly Open Anchored VWAPs displayed.
3. Auto Anchor using Pivot High/Low locations. Script finds the pivot highs/lows with a user selected look back/forward period. Additionally, as new pivot highs/lows appear you can choose to keep up to 4 each previous pivot high/low anchored VWAPs displayed. Image below has a 40 look back/forward period selected, and 2 past AVWAPs enabled.
You may notice in the above image that there is a gap between the AVWAP plot and the marked pivot point. This is not something that can be avoided as the script has to look forward in order to verify the pivot. The calculation is still correct, this can be verified by manually adding an “Anchored VWAP” drawing and seeing the values align. Image below shows that they match. White lines are the manually added “Anchored VWAP” drawings. If you verify this for yourself, make sure to select the correct input source in the settings of the drawing.
4. Auto Anchored on IPO High/Low. Looks for the first available candlestick in a chart and anchors to the high and low. This is useful with newer companies with recent IPOs.
IMPORTANT NOTE to TradingView admin: One of the lessons I would consider most important in attaining clarity regarding trading, is “TheStrat” by Rob Smith. His lesson on “actionable signals” is something that can be applied to any strategy. For this reason, I am including “MTFT TheStrat Patterns Pro” script in all images that will depict confluence for a better trade selection.
Example using TheStrat Pro MTFT with this indicator.
Look for a “TheStrat actionable signal” or a “TheStrat Reversal signal” on a smaller timeframe that has an instance of this indicator on a larger timeframe calculation that is in range of the candlestick that formed your actionable signal. This means that the indicators plot you are observing must be above the low and below the high of the candlestick that is the actionable signal/reversal signal.
The Image below shows what this would look like with this indicator. The selected candlestick is the 2-day, it shows a 1-3-1 pattern and the Quarter Anchored VWAP in range. This actionable signal could be played in both directions. If the high is breached, you would enter a long position from the high of the inside candlestick. If the low is breached than you would enter a short. For targets you would look at the previous pivots, for this example all targets were hit. Note that the “Entry” and “Targets” line were added manually and are not part of the script. Setups won’t always play out so nice and clean, but given that there is so many stocks and so many signals this is just a thought to improve the quality of the signal as it has extra confluence. If you are interested in learning further, research ‘TheStrat’ by Rob Smith.
MTFT EMA CloudsMulti Time Frame Tools
Multi Time Frame Tools (MTFT) is a suite of scripts aimed to establish a standard timeframe-based color scheme. This can be utilized to overlay different timeframes calculations/values over a single timeframe. As one example, this would allow to observe the 5-month moving average, 5-week moving average, and 5-day moving average overlaid over each other. This would allow to study a chart, get accustomed to the color scheme and study all these at the same time much easier.
All indicators calculated using the below specific timeframes as input, will always use the color scheme outlined below. This is to get you in habit of recognizing the different timeframes overlaid in top of each other. These can be personalized.
Longer TF analysis.
Yearly - Black
Semi-Annual - Yellow
Quarterly - White
Monthly - Maroon
Weekly - Royal Blue
Daily - Lime
Shorter TF analysis.
4 hour - Fuchsia
1 hour - Orange
30 min - Red
15 min - Brown
10 min - Purple
5 min - Lilac
All color coordination is able to be modified in either the “Inputs” or “Style” section. If you need to make changes, make sure to select “Save as Default” on the bottom right of the settings menu.
Recommended Chart Color Layout
I played around with color coordination a lot. The final product was what worked best for me. I personally use the following chart settings to accent all available TF colors.
-> Click on the settings wheel on your chart. -> Click on “Appearance”.
Background - Solid -> On the top row pick the 6th color from the left.
Vert Grid Lines and Horz Grid Lines -> On the top row pick the 7th color from the left.
You may of course change these and the indicator line colors as you like.
Adding indicator to Chart
-> Open the TradingView “Indicators & Strategies” library, the icon has “ƒx”. -> All premium scripts will be located under “Invite-Only Scripts” -> Click indicator to add to your chart.
*** MTFT EMA Clouds ***
The Exponential Moving Average Clouds, EMA Clouds, is a commonly discussed FinTwit tool. I personally found it through Ripster47 and PatternProfits on Twitter. I have seen big FinTwit accounts solely focus on this strategy alone and have seen other big FinTwit accounts mix with their other indicators. I will be providing very basic info to utilize this script; it is up to you to dive deep into learning this strategy. I am not an expert with the tool or a financial advisor. As with all aspects of life, I recommend you research, learn, discern and practice extensively in order to become a master.
The script has the following features.
1. Two user selected timeframes(TF) per script instance. Timeframes include: Quarter, Month, Weekly, Daily, 4 hour, 1 hour, 30 min, 15 min, 10 min, and 5 min candlestick data.
2. Five Unique Clouds per selected timeframe can each be individually enabled/disabled. Cloud pairs include: 5&13, 8&9, 34&50, 72&89, and 180&200.
Below are some examples of how switching between multiple TF’s could assist you in identifying patterns and resistance/support easier. Below are 4 different timeframe EMA Clouds plotted over similar areas. What supports/resistances do you see?
Weekly timeframe selected with Quarterly Clouds
Weekly timeframe selected with Monthly Clouds
Daily timeframe selected with Weekly Clouds
1-hour timeframe selected with Daily Clouds.
This is meant to show you that the EMA Clouds often serve as resistance/support on multiple timeframes.
3. Force a specific cloud on both selected timeframes. Maybe you want to see how one cloud on several TFs looks over the same chart. Here I added two instances of the script in order to show 4 different TF clouds (Q, M, W, and D). Then I selected the “8_9” on “Force single cloud” for each instance, which will force only the selected cloud to be forced on all the selected time frames.
IMPORTANT NOTE: One of the lessons I would consider most important in attaining clarity regarding trading, is “TheStrat” by Rob Smith. His lesson on “actionable signals” is something that can be applied to any strategy. For this reason, I am including “MTFT TheStrat Patterns Pro” script in all images that will depict confluence for a better trade selection.
Example using TheStrat Pro MTFT with this indicator.
Look for a “TheStrat actionable signal” or a “TheStrat Reversal signal” on a smaller timeframe that has an instance of this indicator on a larger timeframe calculation that is in range of the candlestick that formed your actionable signal. This means that the indicators plot you are observing must be above the low and below the high of the candlestick that is the actionable signal/reversal signal. Image below shows what this would look like with this indicator.
The Image below shows what this would look like with this indicator. The selected candlestick is the Weekly, it shows a hammer actionable signal and the Monthly 34 EMA in range. This actionable signal is meant to be played in a long position. If the high is breached, you would enter a long position from the high of the hammer candlestick. For targets you would look at the previous pivots, for this example all targets were hit. Note that the “Entry” and “Targets” line were added manually and are not part of the script. Setups won’t always play out so nice and clean, but given that there is so many stocks and so many signals this is just a thought to improve the quality of the signal as it has extra confluence. If you are interested in learning further, research ‘TheStrat’ by Rob Smith.